
祢豆子爬虫.gif
Context: Scrapy版本落后,目前已经更新到2.5.0,爬虫环境使用的还是3年前的1.8版本,很多炫酷的新功能不能使用,因此将Scrapy版本升级,记录与此,提高之后开发效率。
Release notes
官方Release notes: https://docs.scrapy.org/en/latest/news.html
部分新的Feature
- headers_received
Newheaders_receivedsignal that allows stopping downloads early)(New in version 2.5.0)
新增headers_received信号,可以停止下载
应用场景: 可以用过Response Headers判断是否还需要下载,实际应用场景如下
1.1需要Json类型的Response,可以通过Header Content-Type判断是否是对应格式
1.2 如某些网站会返回302状态码跳转到验证码界面,则可以通过Header中Location判断是否被重定向 - 翻页相关
- Response.follow()
- Response.follow_all()
- Reseponse.urljoin()
之前翻页大多是通过自己拼接下一页的Url发出请求,更优的方法是通过Response.follow_all或Response.follow_all
(New in version 2.0.)便捷生成翻页请求;
TextResponse还支持Selector 选择器和Link提取器,省去了自己提取href属性的步骤;
如果需要自定制拼接url可以使用Response.urljoin方法拼接