2009-06-29 19 views
12

I (farklı bilgi çekildi) Bir Öğe sahip her site için farklı siteleri taramak için scrapy kullanıyorumPython Scrapy, bir ürün için bir boru hattı nasıl tanımlanır?

Peki, örneğin bir jenerik boru hattı var (bilgilerin çoğunu aynıdır) ama şimdi sürünerek am Bazı google arama yanıtı ve boru hattı farklı olmalıdır.

Örneğin: Ben hangi boru hattı hakkında örümcek belirtebilirsiniz nasıl ....

GenericItemGenericPipeline

kullanan Ama GoogleItemGoogleItemPipeline kullanır, ancak GoogleItemPipeline yerine GenericPipeline kullanmaya çalışır tarama örümcek zaman kullanılmalı? Şimdi

cevap

14

tek bir yolu -

pipelines.py "olduğu gibi" boru hattı ve sürecin bunu ya getiri Öğe türünü kontrol:

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 
İlgili konular