Python Scrapy, ¿cómo definir una tubería para un artículo?
-
20-08-2019 - |
Pregunta
Estoy usando scrapy para rastrear diferentes sitios, para cada sitio tengo un elemento (se extrae información diferente)
Bueno, por ejemplo, tengo una canalización genérica (la mayor parte de la información es la misma) pero ahora estoy rastreando alguna respuesta de búsqueda de Google y la canalización debe ser diferente.
Por ejemplo:
GenericItem
usa GenericPipeline
Pero GoogleItem
usa GoogleItemPipeline
, pero cuando la araña se arrastra, intenta usar <=> en lugar de <=> .... ¿cómo puedo especificar qué tubería debe usar la araña de Google?
Solución
Ahora solo de una manera: marque el tipo de elemento en la tubería y procese o devuelva " como es "
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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow