Maison > Questions et réponses > le corps du texte
能不能实现这种:
aItem
的数据由aPipeline
处理
bItem
的数据由bPipeline
处理
天蓬老师2017-04-18 09:51:55
Est-ce le but
Par exemple, votre items.py contient les éléments suivants
Ensuite, dans la fonction process_item dans pipelines.py, vous pouvez faire ce qui suit
De cette façon, différentes données peuvent être traitées séparément,
天蓬老师2017-04-18 09:51:55
Vous pouvez déterminer sur quel robot le résultat est en cours :
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
Pour ce type de plusieurs robots d'exploration dans un même projet, différents robots d'exploration doivent utiliser une logique différente dans le pipeline. L'auteur de scrapy l'a expliqué.
Allez voir
PHP中文网2017-04-18 09:51:55
Oui, le process_item des pipelines a un paramètre spider, qui peut filtrer le spider correspondant pour utiliser ce pipeline