Scrapy图片下载如何使用自定义文件名

如何使用我自己的自定义文件名存储文件?

如果我的自定义文件名需要包含同一项目中的另一个抓取字段,该怎么办?例如,使用item['desc']和和图像的文件名item['image_url']。如果我理解正确,那将涉及以某种方式从图像管道访问其他项目字段。

任何帮助将不胜感激。

回答:

这就是我在Scrapy 0.10中解决问题的方式。检查FSImagesStoreChangeableDirectory的persist_image方法。下载图像的文件名是密钥

class FSImagesStoreChangeableDirectory(FSImagesStore):

def persist_image(self, key, image, buf, info,append_path):

absolute_path = self._get_filesystem_path(append_path+'/'+key)

self._mkdir(os.path.dirname(absolute_path), info)

image.save(absolute_path)

class ProjectPipeline(ImagesPipeline):

def __init__(self):

super(ImagesPipeline, self).__init__()

store_uri = settings.IMAGES_STORE

if not store_uri:

raise NotConfigured

self.store = FSImagesStoreChangeableDirectory(store_uri)

以上是 Scrapy图片下载如何使用自定义文件名 的全部内容, 来源链接: utcz.com/qa/427276.html

回到顶部