Item Pipeline(项目管道)。Spider解析完Response就会产生Item,Item就会被Engine传递到Item Pipeline,被定义的Item Pipeline组件就会顺次被调用,完成一连串的处理过程:
- 清洗HTML数据
 - 验证爬取数据,检查爬取字段
 - 查重并丢弃重复内容
 - 将爬取结果存储到数据库中
 
核心方法
必须实现的方法:
- process_item(item, spider)
 
可选实现的方法:
- open_spider(spider)
 - close_spider(spider)
 - from_crawler(cls, crawler)
 
- process_item(item, spider)
 
被定义的Item Pipeline会默认调用这个方法对Item进行处理,比如进行数据处理或者将数据写入数据库等操作。
参数:
- item:Item对象,即被处理的Item
 - spider:Spider对象,即生成该Item的Spider
 
返回值:Item对象/抛出DropItem异常
不同返回值的效果:
- Item对象——接着调用低优先级的Item Pipeline的process_item方法,直到所有方法被调用完毕
 - 抛出DropItem异常——Item会被丢弃,不再进行处理
 










