Question

J'utilise scrapy pour explorer différents sites. Pour chaque site, j'ai un élément (des informations différentes sont extraites)

Eh bien, par exemple, j'ai un pipeline générique (la plupart des informations sont les mêmes), mais maintenant, j'explore une réponse de recherche Google et le pipeline doit être différent.

Par exemple:

GenericItem utilise GenericPipeline

Mais le GoogleItem utilise GoogleItemPipeline, mais lorsque l'araignée explore, il tente d'utiliser <=> au lieu de <=> .... comment puis-je spécifier le pipeline que Google araignée doit utiliser?

Était-ce utile?

La solution

Désormais, un seul moyen consiste à vérifier le type d'élément dans le pipeline et à le traiter ou à le retourner & "tel quel &";

.

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top