Scrapy中的ItemPipeline

(一)ItemPipeline作用

  • 清理html数据
  • 验证爬取数据,检查爬取字段
  • 查重并丢弃重复内容
  • 将爬取结果存储到数据库

(二)核心方法

  • process_item(item,spider)
  • open_spider(spider)
  • close_spider(spider)
  • from_crawler(cls,crawler)

1. process_item(item,spider)

  • item:Item对象,即被处理的Item
  • spider: 是spider对象,即生成该item的spider对象

必须要实现的方法,被定义的ItemPipeline会默认调用这个方法对Item进行处理。
必须返回一个Item或者Dropitem异常

  • 返回Item:
    此Item会被更低优先级的ItemPipeline对象的process_item方法继续处理,直到所有的方法调用完毕
  • 抛出Dropitem异常:
    此Item会被丢弃,不再进行处理

2.open_spider(self,spider)

在spider开启时自动调用此方法,做一些初始化操作。比如创建数据库连接

3.close_spider(self,spider)

Spider关闭时自动调用,完成一些收尾工作,比如关闭数据库连接。

4.from_crawler(cls,crawler)

一个类方法,用@classmethod标识,是一种依赖注入的方式。它的参数是crawler,通过crawler对象,我们可以拿到Scrapy的所有核心组件,如全局的配置信息,然后创建一个pipeline实例。参数cls就是一个class,返回一个class的实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值