Python Scrapy, wie eine Pipeline für ein Element definieren?
-
20-08-2019 - |
Frage
Ich scrapy bin mit verschiedenen Seiten zu kriechen, für jeden Standort Ich habe ein Element (verschiedene Informationen extrahiert)
Nun, zum Beispiel habe ich eine generische Pipeline (die meisten Informationen ist das gleiche), aber jetzt habe ich eine Google-Suche Antwort bin kriechen und die Pipeline muß unterschiedlich sein.
Zum Beispiel:
GenericItem
verwendet GenericPipeline
Aber die GoogleItem
verwendet GoogleItemPipeline
, aber wenn die Spinne krabbelt es versucht GenericPipeline
statt GoogleItemPipeline
zu verwenden .... wie ich die Pipeline Google Spinne verwenden müssen?
Lösung
Jetzt nur ein Weg - überprüfen Einzelteilart in Pipeline und verarbeiten oder Rückkehr „as is“
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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow