サイトから/こすり画像をダウンロードするにはScrapyの画像パイプラインを使用している、私のコードの例のバージョンは、以下を参照してください。Scrapy Image Pipelineで重複ダウンロードを許可しますか?
import scrapy
from scrapy_splash import SplashRequest
from imageExtract.items import ImageextractItem
class ExtractSpider(scrapy.Spider):
name = 'extract'
start_urls = ['url']
def parse(self, response):
image = ImageextractItem()
titles = ['a', 'b', 'c', 'd', 'e', 'f']
rel = ['url1', 'url2', 'url3', 'url4', 'url5', 'url6']
image['title'] = titles
image['image_urls'] = rel
return image
それはすべて正常に動作しますが、デフォルトの設定に従って、ダウンロードの重複を避けることができます。これを上書きする方法はありますか?私は重複もダウンロードできますか?ありがとう。
ありがとう、私はこれを試して、それは動作するように見えませんでした。私は、画像パイプラインのソース自体にいくつかの「重複検出コード」が存在する可能性があると考えていますが、コードを見直すことで、どこでも見つけることができません。私がそれを見つけることができれば、私はそれを更新して、これをスキップするカスタム引数で渡すことができるかもしれません。 –
私はそれを見つけたと思います。クラス 'MediaPipeline'のメソッド' _process_request'を見てください([link](https://github.com/scrapy/scrapy/blob/master/scrapy/pipelines/media.py) ))。すでにダウンロードされている場合は、キャッシュからファイルを取得します(要求指紋に基づいて)。残念ながら、引数や設定でカスタマイズする方法はありません。 –
ありがとうございます!コメントを出したり、ソースのいくつかを調整したり、自分のアプリケーションでうまく動作するようにする方法が見つかるかどうかを確認します。 –