Scrapy如何避免重新下载最近下载的媒体?

时间:2017-05-18 16:37:28

标签: python scrapy

根据https://doc.scrapy.org/en/latest/topics/media-pipeline.html,Scrapy的文件管道和图像管道“避免重新下载最近下载的媒体”。

我有一只蜘蛛,我正在使用job directoryJOBDIR)运行,以暂停和恢复抓取。最初我在没有下载文件的情况下抓取物品;后来,我添加了一个文件管道。但是,在使用管道重新运行蜘蛛'for real'之前,我忘了删除JOBDIR

我担心的是requests.seen中的JOBDIR文件将包含已被抓取的项目的指纹,但其中没有已删除的文件(因为管道还没有他们被刮的时候到位了。我正在考虑的是删除JOBDIR并从干净的石板上再次开始刮擦。

我的问题是:这可以在不下载所有文件的情况下工作吗?或FilesPipeline是否依赖JOBDIR来跳过最近已下载的文件? (顺便说一句,我的FILES_SOURCE是一个S3桶。)

1 个答案:

答案 0 :(得分:1)

据我所知,scrapy计算文件名(通常是来自url for image的base64),如果文件存在于文件夹中,scrapy不会尝试下载它。