我正在尝试使用Scrapy的图像/文件pipeline
下载没有任何文件扩展名的图像。
例如,此图像:
https://burpple-2.imgix.net/foods/3d9294008d0f76a92e21647960_original.?w=400&h=400&fit=crop&q=80
如您所见,图像加载正常,我可以在Scrapy
中抓取网址。但是,将URL传递到image_urls
或file_urls
不会产生下载的图像。
我尝试将“ .jpg”附加到网址末尾,但这不起作用。
我将如何下载此类图像?
编辑:
我已经启用ImagePipeline
。从具有适当文件扩展名的其他URL下载可以正常进行,我可以看到图像已下载到指定的文件夹中。
答案 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'],
}