Scrapy-Item Pipeline用法
Item pipeline 是项目管道
Item Pipeline
作用
Item Pipeline的调用发生在Spider产生Item之后。当Spider解析完Response,Item就会传递到Item Pipeline,被定义的Item Pipeline组件会顺次调用,完成一连串的处理过程,比如数据清洗、存储等。
主要功能
Item Pipeline的主要功能有如下4点:
- 清理HTML数据
- 验证爬取数据,检查爬取字段
- 查重并丢弃重复内容
- 将爬取结果保存到数据库
核心方法
我们可以自定义Item Pipeline,只需要实现指定的方法,其中必须要实现的一个方法是:process_item(item,spider)
另外还有如下几个比较实用的方法:
- open_spider(spider)
- close_spider(spider)
- from crawler(cls, crawler)
实操
抓取360摄影图片存储到MongoDB、MySQL、Image图片存储三个pipeline
目标网站:https://image.so.com/z?ch=pet&t1=236 (猫星人网站)
分析页面:
- 过滤器切换到XHR,下拉页面可以看到很多Ajax请求
- list字段是一张张图片的详细参数
- 下拉时sn参数变化,30、60、90、120、……
可知sn为下拉时新增的图片