当我获得base64时如何使用scrapy下载图像

时间:2018-07-31 06:49:33

标签: scrapy

我要使用此选择器下载图像

image = response.xpath('/html/body/div/div/div[3]/div[1]/div[1]/img/@src').extract()

在外壳上,我得到了结果

  

['data:image / gif; base64,R0lGODlhAQABAIAAAAAAAP /// yh5BAEAAAAALAAAAAABAAEAAAIBRAA7']

也许是因为该网站受热链接(cloudflare保护)保护,并且我需要使用其他方法吗?或只是选择不好的图像进行下载

1 个答案:

答案 0 :(得分:0)

获得base64字符串后:

# Assume you get this image list
image_list = ['data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7']

import base64

# Save image to file by using this code
for i, item in enumerate(image_list):
    with open("imageToSave{}.png".format(i), "wb") as fh:
    fh.write(base64.decodebytes(item.split(',')[-1]))