【发布时间】:2013-05-29 05:49:15
【问题描述】:
Scrapy 使用 sha1 生成随机图像文件名。发生重复时,它将覆盖文件,导致现有图像文件丢失。 是否可以编写额外的代码(例如:重写类)来处理重复。例如:不断生成新的随机文件名,直到找不到重复? 如果是,请提供代码示例?
---老问题: 它是否检查以确保 images_store 文件夹下所有图像文件的文件名唯一性? Scrapy 在下载图像时使用 sha1 生成随机文件名。 Sha1 提供了良好的唯一性,但从概率上讲,存在重复的机会。
【问题讨论】:
-
SHA1 根据定义不保证唯一性,并且有重复的机会。根据source code,如果存在同名的图像,scrapy 只会重写图像。另见:stackoverflow.com/questions/5388781/… 和 stackoverflow.com/questions/3060259/…。
-
@alecxe:感谢您的意见。我已将问题更新为“如何在 scrapy 图像下载中处理图像文件名重复”
标签: scrapy sha1 hash-code-uniqueness