欢迎光临
我们一直在努力

下载无src图片的方法(canvas)

from selenium import webdriver
from selenium.webdriver.common.by import By
import base64
import io
from PIL import Image
import os
import time
 
# 初始化WebDriver
driver = webdriver.Edge()  # 或者使用其他浏览器,如Firefox
 
# 设置下载图片的路径
download_path = 'd:/a'
if not os.path.exists(download_path):
    os.makedirs(download_path)
 
# 打开网页
url = 'https://www.docin.com/p-xxxxxxxxx.html'  # 替换为包含Canvas元素的网页URL
driver.get(url)
 
# 等待页面加载完成(可选,根据页面加载情况调整)
a = input('等待加载完成:')  # 或者使用WebDriverWait和expected_conditions来等待特定条件
 
# 获取页面中所有的Canvas元素
canvases = driver.find_elements(By.TAG_NAME, 'canvas')
 
# 遍历每个Canvas元素并下载图片
for index, canvas in enumerate(canvases):
    # 执行JavaScript脚本获取Canvas图片数据
    canvas_data = driver.execute_script("""  
        return arguments[0].toDataURL('image/png').replace('image/png', 'image/octet-stream');  
    """, canvas)
 
    # 将Base64编码的图片数据转换为二进制数据
    image_data = base64.b64decode(canvas_data.split(',')[1])
 
    # 将二进制数据转换为图片文件并保存到本地
    image_name = f'canvas_image_{str(index+1).zfill(3)}.png'
    image_path = os.path.join(download_path, image_name)
    with open(image_path, 'wb') as handler:
        handler.write(image_data)
    print(f'Downloaded: {image_path}')
 
# 关闭WebDriver  
driver.quit()

 

网页中图片在canvas中,不知道图片链接。用下面代码可以尝试下载。

赞(0) 打赏
未经允许不得转载:Sangco – 程序员之家 » 下载无src图片的方法(canvas)
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏