Maison  >  Questions et réponses  >  le corps du texte

python - 关于 scrapy 的 pipeline 和 items 问题

能不能实现这种:

  1. aItem的数据由aPipeline处理

  2. bItem的数据由bPipeline处理

PHP中文网PHP中文网2741 Il y a quelques jours513

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师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,

    répondre
    0
  • 天蓬老师

    天蓬老师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

    répondre
    0
  • PHP中文网

    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

    répondre
    0
  • Annulerrépondre