Item Pipeline

Posted nuochengze

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Item Pipeline相关的知识,希望对你有一定的参考价值。

1、官方文档

  https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/item-pipeline.html

2、简介

  当item在Spider中被收集之后,它会将被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item。

3、编写item pipeline组件

  item pipeline组件是一个独立的Python类,其中process_item()方法必须实现。

class SomethingPipeline(object):
    def __init__(self):
        # 可选实现,做参数初始化等
        pass
    def process_item(self,item,spider):
        #item(Item对象)---被爬取的item
        #spider(Spider对象)---爬取该item的spider
        # 这个方法必须实现,每个item pipeline组件都需要调用该方法
        # 这个方法必须返回一个Item对象,被丢弃的item将不会被之后的pipeline组件所处理
        return item
    def open_spider(self,spier):
        # spider(Spider对象)---被开启的spider
        # 可选参数,当spider被开启时,这个方法被调用
        pass
    def close_spider(self,spider):
        # spider(Spider对象)---被关闭的spider
        # 可选实现,当spider被关闭时,这个方法被调用
        pass

4、启动一个item pipeline组件

  为了启用Item Pipeline组件,必须将它的类添加到settings.py文件ITEM_PIPELINES配置

  技术图片

 

   分配给每个类的整型值,确定了它们运行的顺序,item按数字从低到高的顺序,通过pipeline,通常将这些数字定义在0-1000范围内(0-1000随意设置,数值越低,组件的优先级越高)

5、启动爬虫验证

  `scrapy crawl projectName`

 

以上是关于Item Pipeline的主要内容,如果未能解决你的问题,请参考以下文章

Item Pipeline

Item Pipeline

Item Pipeline

爬虫:Scrapy8 - Item Pipeline

4.4. Item Pipeline管道文件

Scrapy框架中的Pipeline组件