菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件

1.scrapy shell 命令请求网页:

scrapy shell "https://www.baidu.com"

就会得到请求的网页源代码,我们通过response.text可以获取请求之后的源代码,然后就可以通过正则匹配我们想要的内容。

菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件_第1张图片

菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件_第2张图片

2.然后上面请求方法,对一些不做限制的网站请求时ok,但是就如之前所讲的,很多网站对没有设置请求头的请求都是禁止访问,所以我们的爬虫中都设置了headers头部,那么在scrapy如何设置请求头呢?

问题分析,我们设置请求头很大一部分其实是在于headers,所以我们在scrapy中设置user-agent其实就完成了请求headers头部的设置。

scrapy shell -s USER_AGENT="" request_url 就可以完成带头部的请求添加,如请求知乎(不带头部请求时400错误):

scrapy shell -s USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0" https://www.zhihu.com/question/285908404

菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件_第3张图片

查看源码:

菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件_第4张图片

这样我们就可在scrapy查看我们请求的原网页和验证我们写的正则表达式

3.通过上述请求后,我们通过response.text可以获得我们请求的源码,那么如何保存呢?

保存代码其实跟编辑器中的代码一样:

with open('d:/zhihu_question.html','wb') as f:

    f.write(response.text.encode('utf-8'))

菜鸟写Python-Scrapy shell 带头部headers请求:使用scrapy shell 命令请求源代码(response)并写入本地文件_第5张图片

你可能感兴趣的:(Python爬虫)