当前位置: 首页 > 面试题库 >

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

公孙威
2023-03-14
问题内容

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

如果我的自定义文件名需要包含同一项目中的另一个抓取字段,该怎么办?例如,使用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)


 类似资料:
  • 我是selenium的新手,我想使用selenium chrome Web驱动程序在特定的自定义文件夹中下载文件。默认情况下,该文件正在浏览器指定的下载路径中下载。任何一个建议在C#Selenium的自定义路径中下载文件的最佳解决方案。

  • 我想从GitHub的私有存储库下载,所以我需要传递头和。 例如,使用curl:

  • 问题内容: 我是selenium的新手,我想在特定的自定义文件夹中使用selenium chrome Web驱动程序下载文件。默认情况下,文件正在浏览器指定的下载路径中下载。任何人都建议在C#Selenium中以自定义路径下载文件的最佳解决方案。 问题答案: 希望对您有帮助!

  • 本文向大家介绍Python3 urllib.request.urlretrieve如何下载文件或图片以及如何使用代理?,包括了Python3 urllib.request.urlretrieve如何下载文件或图片以及如何使用代理?的使用技巧和注意事项,需要的朋友参考一下 使用urllib.request.urlretrieve方式: 如果要使用代理,需要先导入:socket和httplib2.so

  • 问题内容: 现在我有一个,我想将其另存为PNG。我可以使用所有那些花哨的复杂文件系统API来做到这一点,但我真的不喜欢它们。 我知道上面是否有带有属性的链接: 如果用户单击该文件,它将下载文件。因此我想到了这个: 但是,它似乎不起作用。它是否必须由用户操作触发?否则为什么它不起作用? 问题答案: 问题在于jQuery不会触发元素的本机事件,因此不会发生导航(的正常行为),因此您需要手动执行操作。对

  • 问题内容: 我在Java项目中使用log4j。我想配置另一个文件,而不是log4j.properties。有人可以帮助我吗? 问题答案: 使用一次 您只需通过系统参数指定log4j文件的路径: