2009-06-29 18 views
12

私は(異なる情報が抽​​出された)、私はアイテムを持っている各サイトのために、異なるサイトをクロールするscrapyを使用していますPython Scrapy、アイテムのパイプラインを定義する方法は?

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

GenericItemGenericPipeline

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

答えて

14

今唯一の方法 -

pipelines.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 
関連する問題