+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何使用Selenium Python下载带有“ data:image”类型源的图像

发布于2021-04-12 14:47     阅读(800)     评论(0)     点赞(14)     收藏(5)


0

1

2

3

4

我尝试以常规方式执行此操作,即按ID选择图像,然后按如下方式获取src属性的内容

img = wd.find_element_by_id('image')
src = img.get_attribute('src')
urllib.request.urlretrieve(src, "local_image.png")

但是,此代码段的第三行按预期失败 a string or bytes-like object

完整回溯:

Traceback (most recent call last):
  File "image.py", line 36, in <module>
    urllib.request.urlretrieve(src, "image.png")
  File "C:\Users\me\AppData\Local\Programs\Python\Python38-32\lib\urllib\request.py", line 245, in urlretrieve
    url_type, path = _splittype(url)
  File "C:\Users\me\AppData\Local\Programs\Python\Python38-32\lib\urllib\parse.py", line 1008, in _splittype
    match = _typeprog.match(url)
TypeError: expected string or bytes-like object

有人有指针吗?


解决方案


您可以使用requestsshutil模块完成此操作

import shutil
import requests
img = wd.find_elements_by_tag_name('img')
src = img.get_attribute('src')
print(src)
url = 'yoururl/'+ src['my_image']
response = requests.get(url, stream=True)
with open('my_pic.png', 'wb') as out_file:
    shutil.copyfileobj(response.raw, out_file

0

1

2

3

4

5

6

7



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/936018/61bae09d0d1be0ccf93c/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)