同じプロジェクトで、同じパイプライン クラスを呼び出すいくつかのスパイダーを作成します。
次のようなパイプライン コードでは:
def process_item(self, item, spider):
if spider.name == 'spider1':
# do something
if spider.name == 'spider2':
# do something
...
そして、新しいspiedrXに呼び出させる前に、それは機能します。
そして、他のスパイダーが呼び出すのと同じように、私のspiderXが呼び出すコード:
# just like this kind of way
for book in books:
item = BookItem();
# assignment
yield item
次に、パイプラインを呼び出しませんが、他の人は呼び出すことができます。理由がわかりません。
SpiderX を実行すると、スクレイピーな行が出力されます。
2016-07-17 22:30:15 [scrapy] INFO: Enabled item pipelines:
['dgut_spider.pipelines.CustomPipeline']
これは、パイプラインが機能することを意味します
任意の提案をいただければ幸いです。
編集:私の新しいspiderXだけがパイプラインを呼び出すことができません.他の人はできます.