13

私はアイテムを持っているサイトごとに異なるサイトをクロールするためにスクレイピーを使用しています(異なる情報が抽​​出されます)

たとえば、一般的なパイプラインがあります (ほとんどの情報は同じです) が、Google 検索の応答をクロールしていて、パイプラインが異なる必要があります。

例えば:

GenericItem用途GenericPipeline

しかし、GoogleItem使用しますGoogleItemPipelineが、スパイダーがクロールしているときは、GenericPipeline代わりに使用しようとしますGoogleItemPipeline....Googleスパイダーが使用する必要があるパイプラインを指定するにはどうすればよいですか?

4

1 に答える 1

16

現在は 1 つの方法のみ - パイプラインの項目タイプを確認して処理するか、「そのまま」返す

パイプライン.py :

from grabbers.items import FeedItem

class StoreFeedPost(object):

    def process_item(self, domain, item):
        if isinstance(item, FeedItem):
            #process it...

        return item

items.py :

from scrapy.item import ScrapedItem

class FeedItem(ScrapedItem):
    pass
于 2009-08-25T19:54:00.957 に答える