https://doc.scrapy.org/en/latest/topics/media-pipeline.htmlによると、Scrapyのファイルパイプラインと画像パイプラインの両方は、最近ダウンロードしたメディアを再ダウンロードしないようにしています。最近ダウンロードされたメディアの再ダウンロードはどのようにして行われますか?
クロールを一時停止して再開するには、私が実行しているスパイダーがjob directory(JOBDIR
)です。最初は、ファイルをダウンロードせずにアイテムを擦っていました。後で、私はファイルパイプラインを追加しました。しかし、私はJOBDIR
を削除することを忘れてしまい、パイプラインで '本当のために'スパイダーを再実行することはできません。
私は怖いことはJOBDIR
でrequests.seen
ファイルをかき取りされているアイテムの指紋を含んでいますが、(それらが掻き取ったときのパイプラインが整っていなかったので)そのうち何掻き取ったファイルが存在しないということです。私がやっていることは、JOBDIR
を取り除き、清潔なスレートから再び掻き取りを開始することです。
私の質問です:この作業は、すべてのファイルを再度ダウンロードすることなく動作しますか?またはFilesPipeline
はJOBDIR
に依存して、最近ダウンロードされたファイルをスキップしますか? (私のFILES_SOURCE
は途中でS3バケットです)。
'dont_filter = True'を' scrapy.Request'に設定しようとすることもできます –