2009-06-29 22 views
12

Sto usando Scrapy a strisciare siti diversi, per ogni sito ho un Prodotto (informazioni diverse è estratta)Python Scrapy, come definire una pipeline per un articolo?

Beh, per esempio ho un gasdotto generica (la maggior parte delle informazioni è la stessa), ma ora sto strisciando alcune risposte alla ricerca su google e la pipeline deve essere diversa.

Ad esempio:

GenericItem utilizza GenericPipeline

Ma la GoogleItem utilizza GoogleItemPipeline, ma quando il ragno è la scansione si tenta di utilizzare GenericPipeline invece di GoogleItemPipeline .... come posso specificare quali pipeline di Google ragno deve usare?

risposta

14

Ora solo un modo - verificare il tipo di elemento in cantiere e di processo o di ritorno "come è"

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 
Problemi correlati