您现在的位置是:首页 > 技术笔记 网站首页技术笔记

No71:Scrapy多个item时指定pipeline

爬虫  
简介Scrapy存在多个item的时候如何指定管道进行对应的操作呢。

有时,为了数据的干净清爽,我们可以定义多个item,不同的item存储不同的数据,避免数据污染。但是在pipeline对item进行操作的时候就要加上判断。

  • items.py
class OneItem(scrapy.Item):
    one = scrapy.Field()


class TwoItem(scrapy.Item):
    two = scrapy.Field()
  • pipelines.py
from xxx.items import OneItem, TwoItem


class MyPipeline(object):
    def process_item(self, item, spider):

        if isinstance(item, OneItem):
            print("one")
        elif isinstance(item, TwoItem):
            print("two")

        return item