scrapy学习:使用scrapy shell时设置cookies和headers
有时为了测试xpath,需要临时下载个页面,这时使用命令行进行测试是最方便的,但是很多网站页面需要认证,不能直接使用scrapy shell命令进行页面的抓取,所以需要重新对请求进行构造,设置cookies和headers。
打开 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()