Scrapy - 每个项目不同的管道

Scrapy - Different pipeline per Item

我是 Scrapy 的新手,python 所以请原谅我对此的无知。

我需要在数据库中存储两种不同类型的项目。对于其中之一,我需要在插入之前做一些额外的查询。是否可以根据 Item 使用不同的管道?如果不是,当它们到达管道时,我如何区分哪个项目是哪个项目?

基本上你可以丢弃你不想在某些管道中处理的项目,反之亦然。例如:

class ApplePipeLine(object):

    def process_item(self, item, spider):
        if not isinstance(item, Apple):
            return item
        # Do something with Apple
        return item


class OrangePipeLine(object):

    def process_item(self, item, spider):
        if not isinstance(item, Orange):
            return item
        # Do something with Orange
        return item