Scrapy无法启用我的FilePipeline



这是我的设置.py:

from scrapy.log import INFO

BOT_NAME = 'images'
SPIDER_MODULES = ['images.spiders']
NEWSPIDER_MODULE = 'images.spiders'
LOG_LEVEL = INFO
ITEM_PIPELINES = {
    "images.pipelines.WritePipeline": 800
}
DOWNLOAD_DELAY = 0.5

这是我的流水线。py:

from scrapy import Request
from scrapy.pipelines.files import FilesPipeline

class WritePipeline(FilesPipeline):
    def get_media_requests(self, item, info):
        for url in item["file_urls"]:
            yield Request(url)
    def item_completed(self, results, item, info):
        return item

这是非常标准、正常的东西。然而,这是我日志中的一行:

2015-06-25 18:16:41 [scrapy] INFO: Enabled item pipelines: 

因此管道未启用。我在这里做错了什么?我已经用过几次刮痧了,我很肯定蜘蛛很好。该项只是具有file_urlsfiles的普通项。

哎呀,我忘了在设置中添加FILES_STORE。在这里找个解释。

相关报价:

然后,将目标存储设置配置为将用于存储下载的图像的有效值。否则,即使将管道包含在ITEM_PIPELINES设置中,该管道也将保持禁用状态。

我并不真正了解FilesPipeline,但对于每个管道,您都需要实现process_item(self, item, spider)方法。

相关内容

  • 没有找到相关文章

最新更新