使用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

原文地址:https://www.cnblogs.com/yoyowin/p/12348047.html