没有文件扩展名的图像抓取和下载

时间:2018-11-13 14:36:56

标签: python image web-scraping scrapy

我正在尝试使用Scrapy的图像/文件pipeline下载没有任何文件扩展名的图像。

例如,此图像:

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

如您所见,图像加载正常,我可以在Scrapy中抓取网址。但是,将URL传递到image_urlsfile_urls不会产生下载的图像。

我尝试将“ .jpg”附加到网址末尾,但这不起作用。

我将如何下载此类图像?

编辑:

我已经启用ImagePipeline。从具有适当文件扩展名的其他URL下载可以正常进行,我可以看到图像已下载到指定的文件夹中。

1 个答案:

答案 0 :(得分:2)

您是否在设置中启用了ImagePipeline

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

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'],
        }