根據https://doc.scrapy.org/en/latest/topics/media-pipeline.html,Scrapy的文件管道和圖像管道「避免重新下載最近下載的介質」。Scrapy如何避免重新下載最近下載的媒體?
我有一個蜘蛛,我正在運行使用job directory(JOBDIR
)以暫停和恢復爬網。起初,我在沒有下載文件的情況下正在抓取項目;稍後,我添加了一個文件管道。然而,我忘了刪除JOBDIR
,然後用Pipeline重新運行蜘蛛'真實'。
我害怕的是JOBDIR
中的requests.seen
文件中將包含已被抓取的項目的指紋,但其中沒有抓取的文件(因爲管道在被抓取時尚未到位) 。我正在考慮做的是刪除JOBDIR
並開始從乾淨的石板上再次刮擦。
我的問題是:這項工作不需要再次下載所有文件?或者FilesPipeline
是否依賴JOBDIR
跳過最近已經下載的文件? (順便說一句,我的FILES_SOURCE
是一個S3存儲桶)。
也許你可以嘗試在'scrapy.Request'中設置'dont_filter = True' –