zoukankan      html  css  js  c++  java
  • 使用scrapy shell时设置cookies和headers

    有时为了测试xpath,需要临时下载个页面,这时使用命令行进行测试是最方便的,但是很多网站页面需要认证,不能直接使用scrapy shell命令进行页面的抓取,所以需要重新对请求进行构造,设置cookies和headers。

    首先在当前装有scrapy的python环境中安装ipython

    # python环境下
    pip install ipython
    # conda环境下
    conda install ipython

     首先进入scrapy shell,会自动使用ipython

    scrapy shell

     

     

      

    把cookies转成字典格式

    # 指定请求目标的 URL 链接
    url = 'https://novel18.syosetu.com/n7016er/31/'
    # 自定义 Headers 请求头(一般建议在调试时使用自定义 UA,以绕过最基础的 User-Agent 检测)
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
    # 构造需要附带的 Cookies 字典
    cookies = {"key_1": "value_1", "key_2": "value_2", "key_3": "value_3"}
    # 构造 Request 请求对象
    req = scrapy.Request(url, cookies=cookies, headers=headers)
    # 发起 Request 请求
    fetch(req)
    # 在系统默认浏览器查看请求的页面(主要为了检查是否正常爬取到内页)
    view(response)
    # 网页响应正文 byte类型
    response.body
    # 网页响应正文 str类型  
    response.text  
    # xpath选择器
    repsonse.xpath()  



    原文链接:https://blog.csdn.net/u010741500/article/details/100974510

  • 相关阅读:
    13 | 效率为王:脚本与数据的解耦 + Page Object模型
    关于编程与生活
    我的python学习笔记
    Tarjan学习笔记
    web----https请求过程
    JVM----堆内存设置原理
    算法----快速排序
    SpringCloud----spring security Oauth2认证解决方案
    Mysql----insert/update/delete
    课外知识----单点登录
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12348047.html
Copyright © 2011-2022 走看看