代码之家  ›  专栏  ›  技术社区  ›  Amir Asyraf

不使用文件扩展名抓取和下载图像

  •  0
  • Amir Asyraf  · 技术社区  · 7 年前

    pipeline 下载没有任何文件扩展名的图像。

    例如,此图像:

    https://burpple-2.imgix.net/foods/3d9294008d0f76a92e21647960_original.?w=400&h=400&fit=crop&q=80

    正如您所看到的,图像加载得很好,我可以抓取url Scrapy image_urls 或 file_urls 不生成下载的图像。

    我试过把“.jpg”附加到url的末尾,但没用。

    我如何下载这些图片?

    ImagePipeline . 从其他网址下载,文件扩展名合适,我可以看到图片下载到指定的文件夹。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Guillaume    7 年前

    您是否启用了 ImagePipeline 在你的设置中?

    您应该能够看到如下所示的信息日志:

    2018-11-14 10:37:33 [scrapy.middleware] INFO: Enabled item pipelines:
    ['scrapy.pipelines.images.ImagesPipeline']
    

    这个代码对我有用:

    from scrapy.spiders import Spider
    
    class MySpider(Spider):
    
        name = "burpple-2.imgix.net"
        start_urls = ['https://burpple-2.imgix.net/']
    
        custom_settings = {
            'ITEM_PIPELINES': {'scrapy.pipelines.images.ImagesPipeline': 1},
            'IMAGES_STORE': '/some/valid/folder/',
        }
    
        def parse(self, response):
            yield {
                'image_urls': ['https://burpple-2.imgix.net/foods/3d9294008d0f76a92e21647960_original.?w=400&h=400&fit=crop&q=80'],
            }