无法找到使用Selenium和Python下载图片的方法。

11 浏览
0 Comments

无法找到使用Selenium和Python下载图片的方法。

我有一个以base64格式编码的字符串,表示PNG图片。有没有办法将这个图片保存到文件系统中,作为一个PNG文件?

0
0 Comments

无法找到使用Selenium和Python下载图片的方法

问题出现的原因:

- 第一种方法中使用了PIL库的Image.fromstring()方法,但该方法在较新的版本中已被移除,因此导致报错。

解决方法:

- 使用第二种方法,通过base64库的decodestring()方法将编码的图片数据解码,并将解码后的数据写入文件保存。

具体代码如下:

from base64 import decodestring
with open("foo.png", "wb") as f:
    f.write(decodestring(imagestr))

但在实际运行过程中,可能会遇到以下问题:

- 报错"SyntaxError: invalid syntax",可能是因为代码中存在语法错误,需要检查代码是否正确。

- 图片保存后为空灰色图片,可能是图片数据不完整或错误导致的。

还可能遇到以下问题:

- 报错"cannot import name 'decodestring' from 'base64'",可能是因为Python版本不兼容或base64库版本不匹配导致的。

使用第二种方法可以解决无法使用Selenium和Python下载图片的问题,但需要注意代码语法和图片数据的完整性。如果遇到其他错误,需要检查Python和库的版本兼容性。

0
0 Comments

问题出现的原因是无法找到使用Selenium和Python下载图片的方法。

解决方法是使用以下代码:

import io, base64
from PIL import Image
# 假设base64_str是不包含'data:image/jpeg;base64,'的字符串值
img = Image.open(io.BytesIO(base64.decodebytes(bytes(base64_str, "utf-8"))))
img.save('my-image.jpeg')

这段代码可以压缩图片。如果要保存最高质量的图片,可以使用以下代码:

img.save('test.jpg', quality=100, subsampling=0)

0
0 Comments

无法使用selenium和python下载图片的原因是没有提供具体的下载方法。解决方法是使用base64解码图片数据,并将其写入文件系统。下面是一个示例代码:

# For both Python 2.7 and Python 3.x
import base64
with open("imageToSave.png", "wb") as fh:
    fh.write(base64.decodebytes(img_data))

这段代码将base64编码的图片数据解码,并将其写入名为"imageToSave.png"的文件中。

如果要指定图片的高度和宽度,可以使用图像处理库(如Pillow、ImageMagik等)来调整图片的大小。

如果需要将图片保存到文件系统中,可以使用以下代码:

my_str_as_bytes = str.encode(my_str)

详细说明请参考[这里](https://stackoverflow.com/a/17500651/8508004)。

0