0
ここに表示されているように、画像をダウンロードするときにハッシュURLをスキップする理由https://doc.scrapy.org/en/latest/topics/media-pipeline.html、ここでSHA1は各画像の名前を与えるためにURLをハッシュするために使用されますか?これを実践する利点はありますか?画像をダウンロードする際になぜScrapyのハッシュURLが必要ですか?
ここに表示されているように、画像をダウンロードするときにハッシュURLをスキップする理由https://doc.scrapy.org/en/latest/topics/media-pipeline.html、ここでSHA1は各画像の名前を与えるためにURLをハッシュするために使用されますか?これを実践する利点はありますか?画像をダウンロードする際になぜScrapyのハッシュURLが必要ですか?
sha1ハッシュされたURLとしてファイルを保存することに大きな利点はないと思います。
いくつかのマイナーな利点ががあります。
/:.
などの文字は、ファイル名だけで.jpg
は非常に便利です+いくつかの単語文字も持つ、常にシステム安全ではありません。個人的にはかなり怠け者だと思います。幸運なことに、これは拡張することができますが、それは直感的ではありません。
class MyImagesPipeline(ImagesPipeline):
def filename(url):
return url.replace(string.letters + '-_.', '')
def file_path(self, request, response=None, info=None):
# the original code
# image_guid = hashlib.sha1(to_bytes(url)).hexdigest()
# return 'full/%s.jpg' % (image_guid)
# our code
return 'full/' + self.filename(response.url)
def thumb_path(self, request, response=None, info=None):
return 'thumb/' + self.filename(response.url)
そして、あなたのsettings.py
でそれを有効にしますが、より詳しく説明してもらえますか?あなたはこのハッシングをどこで見ますか? – Granitosaurus
@Granitosaurus私は詳細を提供するために投稿を編集しました。あなたは明らかに、この投稿に答える資格を得るには十分にScrapyを使用しません。 – user136266