能不能实现这种:
aItem
的数据由aPipeline
处理
bItem
的数据由bPipeline
处理
天蓬老师2017-04-18 09:51:55
目的是不是这样呢,
比如你items.py有如下几个item
然后在pipelines.py中的process_item函数里可以如下操作
这样就可以把不同的数据分开处理了,
天蓬老师2017-04-18 09:51:55
你可以在 pipeline 里判断是哪个爬虫的结果:
def process_item(self, item, spider):
if spider.name == 'news':
#这里写存入 News 表的逻辑
news = News()
...(省略部分代码)
self.session.add(news)
self.session.commit()
elif spider.name == 'bsnews':
#这里写存入 News 表的逻辑
bsnews = BsNews()
...(省略部分代码)
self.session.add(bsnews)
self.session.commit()
return item
对于这种多个爬虫在一个工程里的,需要不同爬虫在 pipeline 里使用不同逻辑的问题 scrapy 的作者是这么解释的。
去看看