scrapy学习:使用scrapy shell时设置cookies和headers

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

打开 scrapy shell

直接运行 scrapy shell ,在里面执行如下代码

# 指定请求目标的 URL 链接
url = 'https://www.js.work/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()

参考