能不能实现这种:
aItem的数据由aPipeline处理
aItem
aPipeline
bItem的数据由bPipeline处理
bItem
bPipeline
认证高级PHP讲师
目的是不是这样呢,比如你items.py有如下几个item
然后在pipelines.py中的process_item函数里可以如下操作
这样就可以把不同的数据分开处理了,
你可以在 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 的作者是这么解释的。去看看
可以的 pipelines的process_item有个spider参数,可以筛选相应的spider走这个pipeline
目的是不是这样呢,
比如你items.py有如下几个item
然后在pipelines.py中的process_item函数里可以如下操作
这样就可以把不同的数据分开处理了,
你可以在 pipeline 里判断是哪个爬虫的结果:
对于这种多个爬虫在一个工程里的,需要不同爬虫在 pipeline 里使用不同逻辑的问题 scrapy 的作者是这么解释的。
去看看
可以的 pipelines的process_item有个spider参数,可以筛选相应的spider走这个pipeline