Python爬虫笔记(十一)——Scrapy官方文档阅读——Item Pipeline

当item被spider返回后,会被送往Item Pipeline进行处理,一般在Item pipeline中会进行下列动作:

1、清洗HTML数据

2、验证爬取的数据是否正确(通过查看是否有具有标志性的标志)

3、检查是否重复

4、存储item

 

扮演item pipeline角色的每个python类需要实现以下方法:

process_item(self,item,spider):scrapy会调用item pipeline的实现类中的该方法,process_item()必须返回下列对象中的一个:

包含数据的字典、item对象、返回Twisted Deferred,或是发起DropItem(丢弃Item)的异常

spider参数:爬虫对象

item:爬取的item对象

 

item pipeline的实现类也可以实现下列方法:

1、open_spider(self,spider):当spider被打开(开始执行)后调用

spider参数(Spider对象):打开的spider

 

2、close_spider(self,spider):当spider被关闭(执行完毕)后调用

spider参数(Spider对象):关闭的spider

 

3、from_crawler(cls,crawler):从Crawler对象中实例化一个item pipeline实现类的对象并返回

crawler参数(Crawler对象)

cls表示类本身

相应的使用例子请查看:https://doc.scrapy.org/en/latest/topics/item-pipeline.html

 

为了使用定义好的Pipeline,必须把class添加到ITEM_PIPELINES设置:

ITEM_PIPELINES = {
    'myproject.pipelines.PricePipeline': 300,
    'myproject.pipelines.JsonWriterPipeline': 800,
}

数字表示优先级,越小优先级越大,一般这个整数的范围为0—1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值