python - 关于 scrapy 的 pipeline 和 items 问题
PHP中文网
PHP中文网 2017-04-18 09:49:55
0
3
511

能不能实现这种:

  1. aItem的数据由aPipeline处理

  2. bItem的数据由bPipeline处理

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(3)
Peter_Zhu

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,

Peter_Zhu

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

洪涛

Oui, le process_item des pipelines a un paramètre spider, qui peut filtrer le spider correspondant pour utiliser ce pipeline

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!