吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1461|回复: 17
收起左侧

[Python 原创] 下载无src图片的方法(canvas)

[复制链接]
zjg121 发表于 2024-4-12 13:30
网页中图片在canvas中,不知道图片链接。用下面代码可以尝试下载。
[Python] 纯文本查看 复制代码
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()

免费评分

参与人数 4吾爱币 +10 热心值 +4 收起 理由
DJKS666 + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
windwithme6 + 1 + 1 我很赞同!
chz123 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zjg121 发表于 2024-4-13 17:03
wasm2023 发表于 2024-4-13 16:34
楼主,请问下面这个地址如何保存ppt所有的图片呢https://wugecdn.steam.fun/courses/a_jrcode_course/ab_ge ...

ppt图片在这里:https://wwi.lanzoup.com/itTcl1uy1m9i
用我以前写的截屏代码就可以了。
https://www.52pojie.cn/thread-1909619-1-1.html
wasm2023 发表于 2024-4-13 16:34
楼主,请问下面这个地址如何保存ppt所有的图片呢https://wugecdn.steam.fun/courses/a_jrcode_course/ab_general_course/version2.0/Jrcode_01_32_2/index/01%E5%88%9D%E6%AC%A1%E6%8C%91%E6%88%98/index.html?usercode=5444a0f9-b06d-4c37-9698-4a31099c7181
beihanwang 发表于 2024-4-12 13:44
c13950143096 发表于 2024-4-12 14:57
感谢分享
latucc 发表于 2024-4-12 15:05
抓漫画应该用得到
wasm2023 发表于 2024-4-12 17:36
感谢分享
lxyi 发表于 2024-4-12 17:51
试下下载网上的教科书
edccmss 发表于 2024-4-12 18:16
感谢分享
 楼主| zjg121 发表于 2024-4-12 19:34
lxyi 发表于 2024-4-12 17:51
试下下载网上的教科书

老师好,发个教科书的网址。测试一下。
dhwl9899 发表于 2024-4-12 20:30
谢谢分享,若是成功有效运用,是相当不错的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 06:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表