Scrapy:多个item时指定pipeline

2020-12-25 11:32:36 浏览数 (1)

导读

Scrapy存在多个item的时候如何指定管道进行对应的操作呢?

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

  • items.py
代码语言:txt复制
class OneItem(scrapy.Item):
    one = scrapy.Field()


class TwoItem(scrapy.Item):
    two = scrapy.Field()
  • pipelines.py
代码语言:txt复制
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

0 人点赞