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

能不能实现这种:

  1. aItem的数据由aPipeline处理

  2. bItem的数据由bPipeline处理

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(3)
Peter_Zhu

Adakah ini tujuannya?
Sebagai contoh, item.py anda mempunyai item berikut

Kemudian dalam fungsi process_item dalam pipelines.py anda boleh melakukan perkara berikut

Dengan cara ini, data yang berbeza boleh diproses secara berasingan,

Peter_Zhu

Anda boleh menentukan perangkak yang mana hasilnya dalam perancangan:

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

Untuk jenis perangkak berbilang dalam satu projek, perangkak yang berbeza perlu menggunakan logik yang berbeza dalam perancangan Pengarang scrapy menjelaskan perkara ini.
Pergi dan lihat

洪涛

Ya, proses_item saluran paip mempunyai parameter labah-labah, yang boleh menapis labah-labah yang sepadan untuk menjalankan saluran paip ini

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!