Scrapy中Middleware和Item Pipeline的用法

Middleware

数据流向:

        当Downloader生成Response之后,Response会被发送给Spider,在发送之前,会经过Middleware处理,当Spider处理生成Item和Request之后,Item和Request还会经过Middleware处理。

作用:

1.Response发送给Spider之前对Response进行处理

2.Request发送给Scheduler之前对Request进行处理

3.在Item发送给Item Pipeline之前对Item进行处理。

核心方法

process_spider_input

当Response被Spider Middleware处理,此方法被调用

process_spider_output

当Spider处理Response返回结果时,此方法被调用

process_spider_exception

抛出异常时,被调用

process_start_requests

以Spider启动的Request为参数被调用。

Item Pipeline

功能

1.清洗数据

2.验证爬取数据,检查爬取字段

扫描二维码关注公众号,回复: 4301758 查看本文章

3.查重和去重

4.存入数据库

核心方法

process_item(self, item, spider):

      必须要实现的方法,Item Pipeline会默认调用这个方法对Item进行处理。例如:清洗数据,存库。必须返回Item的类型或者抛出异常。

参数:

item  被处理的对象

spider  生成该item的spider

还可以有如下自定义的方法:

def open_spider(self,spider):
    pass

Spider开启时调用,做初始化操作,例如:数据库连接

def close_spider(self,spider):
    pass

Spider关闭时调用,例如:关闭数据库

 

猜你喜欢

转载自blog.csdn.net/qq_39138295/article/details/83866853
今日推荐