我在同一个项目中编写了几个蜘蛛,它们调用同一个管道类。
在这样的管道代码中:
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时,有一行scrapy输出:
2016-07-17 22:30:15 [scrapy] INFO: Enabled item pipelines:
['dgut_spider.pipelines.CustomPipeline']
这意味着我猜管道可以工作
任何建议将不胜感激。
编辑:只是我的新spiderX不能调用管道,其他人可以。