使用Python scrapy时,图像src url错误



我正试图使用scratchy从电子商务网站上抓取图像,但对于某些项目(180个中的5-10个(,图像src输出与此类似-

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8A . 

对于其余的项目,我得到了正确的图像URL。有人能帮我吗。

我的代码是用于图像src提取的

image = response.css('.productimage img::attr(src)').extract()

因此,我在将图像下载到本地系统时遇到了一个错误。

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8A

实际上,是使用base64编码为字符串的图像字节,您可以使用base64内置模块将其作为文件获取。考虑以下简单示例:

import base64
txt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8A"
content = base64.b64decode(txt.split(',')[-1])
with open('image.png','wb') as f:
f.write(content)

它将在当前工作目录中创建CCD_ 1文件。

此base64数据:
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8A
为空png图像(不是相关图像(

通常这种base64 data出现在没有图片的电子商务网站上。

我建议您将带有base64....的产品解释为没有图像的产品。

最新更新