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会被丢弃,不再进行处理



