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?

¿Fue útil?

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
scroll top