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 (猫星人网站)

分析页面:

  1. 过滤器切换到XHR,下拉页面可以看到很多Ajax请求
  2. list字段是一张张图片的详细参数
  3. 下拉时sn参数变化,30、60、90、120、……

可知sn为下拉时新增的图片