Scrapy 1.5 允许设置存储所有下载媒体的IMAGES_STORE
设置,如文档中所述
我希望能够根据Item
中的某些值为每个Item
指定一个自定义文件夹。对 Scrapy 的内部了解不多,我不确定要覆盖哪些方法来完成此操作。
我想过覆盖from_settings(cls,设置(,但我还没有Item
有什么想法吗?
我通过覆盖file_path
方法解决了这个问题。所以在IMAGES_STORE
我有基本路径,然后我从file_path
控制变量部分。如下所示。但是我首先有一个错字,scrapy
默默地忽略了它,即使在调试中也没有打印任何错误......我不知道为什么?因此,最好从一个简单的字符串开始进行测试。
def file_path(self, request, response=None, info=None):
url = request.url
image_guid = hashlib.sha1(to_bytes(url)).hexdigest()
return '%s/full/%s.jpg' % ('my_custom_path', image_guid)