Domanda

Sto usando scrapy per eseguire la scansione di siti diversi, per ogni sito ho un oggetto (vengono estratte informazioni diverse)

Bene, ad esempio ho una pipeline generica (la maggior parte delle informazioni è la stessa) ma ora sto eseguendo la scansione di alcune risposte di ricerca di Google e la pipeline deve essere diversa.

Ad esempio:

GenericItem utilizza GenericPipeline

Ma il GoogleItem usa GoogleItemPipeline, ma quando il ragno sta eseguendo la scansione cerca di usare <=> invece di <=> .... come posso specificare quale pipeline deve utilizzare il ragno di Google?

È stato utile?

Soluzione

Ora solo un modo: controlla il tipo di elemento nella pipeline ed elaboralo o restituisci " 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top