lla*_*aro 13 python screen-scraping scrapy
我正在使用scrapy来抓取不同的网站,为每个网站我都有一个项目(提取不同的信息)
好吧,例如我有一个通用管道(大多数信息是相同的)但现在我正在抓取一些谷歌搜索响应和管道必须是不同的.
例如:
GenericItem 使用 GenericPipeline
但是GoogleItem用途GoogleItemPipeline,但是当蜘蛛爬行时它试图使用GenericPipeline而不是GoogleItemPipeline....我如何指定谷歌蜘蛛必须使用哪个管道?
sla*_*nic 15
现在只有一种方法 - 在管道中检查项目类型并处理它或返回"按原样"
pipelines.py:
from grabbers.items import FeedItem
class StoreFeedPost(object):
def process_item(self, domain, item):
if isinstance(item, FeedItem):
#process it...
return item
Run Code Online (Sandbox Code Playgroud)
items.py:
from scrapy.item import ScrapedItem
class FeedItem(ScrapedItem):
pass
Run Code Online (Sandbox Code Playgroud)