0

同じプロジェクトで、同じパイプライン クラスを呼び出すいくつかのスパイダーを作成します。

次のようなパイプライン コードでは:

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だけがパイプラインを呼び出すことができません.他の人はできます.

4

0 に答える 0