2009-06-29 19 views
12

Używam scrapy do indeksowania różnych witryn, dla każdej witryny Mam element (różne informacje są wyodrębniane)Python Scrapy, jak zdefiniować potok dla elementu?

Cóż, na przykład mam ogólny potok (większość informacji jest taka sama), ale teraz indeksuję niektóre odpowiedzi wyszukiwania google i potok musi być inny.

Na przykład:

GenericItem wykorzystuje GenericPipeline

Ale GoogleItem wykorzystuje GoogleItemPipeline, ale gdy pająk pełza próbuje użyć GenericPipeline zamiast GoogleItemPipeline .... Jak mogę określić, który rurociągu Google pająka muszę użyć?

Odpowiedz

14

Teraz tylko jeden sposób - sprawdź typ elementu w rurociągu i przetwarza je lub zwrotu "jak jest"

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 
Powiązane problemy