如何自动批量下载网站上的31145张PNG图片(Windows10环境)
批量下载视频帧PNG的可行方案
方案一:用Windows自带PowerShell下载(无需额外软件)
Windows自带的PowerShell比批处理更稳定,适合无编程基础的用户操作:
- 打开PowerShell:按Win+X,选择「Windows PowerShell」或「终端」里的PowerShell选项。
- 切换到保存目录:输入
cd D:\your-folder-path(替换成你想保存图片的文件夹路径),回车。 - 运行下载脚本:
- 复制以下代码,替换第二个视频的URL中
[第二个视频的ID]部分(从你拿到的第二个视频首尾帧URL里提取,比如第一个视频的ID是570e9336-d36c-4d41-8cbe-a67fe3bdc2b6),然后粘贴到PowerShell里回车:
- 复制以下代码,替换第二个视频的URL中
# 下载第一个视频的帧(范围1-19999) for ($i=1; $i -le 19999; $i++) { $url = "https://cf-images.eu-west-1.prod.boltdns.net/v1/jit/719509184001/570e9336-d36c-4d41-8cbe-a67fe3bdc2b6/main/1280x720/${i}ms/match/image.png" $output = "frame_$i.png" try { Invoke-WebRequest -Uri $url -OutFile $output Write-Host "下载完成:$output" } catch { Write-Host "下载失败$output:$($_.Exception.Message)" } Start-Sleep -Milliseconds 500 # 每次下载后暂停0.5秒,避免被网站限制 } # 下载第二个视频的帧(范围20000-31145) for ($i=20000; $i -le 31145; $i++) { $url = "https://cf-images.eu-west-1.prod.boltdns.net/v1/jit/719509184001/[替换成第二个视频的ID]/main/1280x720/${i}ms/match/image.png" $output = "frame_$i.png" try { Invoke-WebRequest -Uri $url -OutFile $output Write-Host "下载完成:$output" } catch { Write-Host "下载失败$output:$($_.Exception.Message)" } Start-Sleep -Milliseconds 500 }
方案二:用Python脚本下载(适合需要更灵活控制的场景)
如果愿意安装Python,这个方案出错提示更清晰,也方便调整:
- 安装Python:去Python官网下载最新版,安装时务必勾选「Add Python to PATH」选项。
- 创建脚本文件:
- 新建一个文本文件,重命名为
download_frames.py,打开后粘贴以下代码,替换[第二个视频的ID]部分:
- 新建一个文本文件,重命名为
import requests import time # 第一个视频参数(根据你的首尾帧URL调整范围) first_start = 1 first_end = 19999 first_url = "https://cf-images.eu-west-1.prod.boltdns.net/v1/jit/719509184001/570e9336-d36c-4d41-8cbe-a67fe3bdc2b6/main/1280x720/{i}ms/match/image.png" # 第二个视频参数 second_start = 20000 second_end = 31145 second_url = "https://cf-images.eu-west-1.prod.boltdns.net/v1/jit/719509184001/[替换成第二个视频的ID]/main/1280x720/{i}ms/match/image.png" def download_frames(start, end, url_template): for i in range(start, end + 1): current_url = url_template.format(i=i) try: resp = requests.get(current_url) resp.raise_for_status() # 捕获HTTP错误 with open(f"frame_{i}.png", "wb") as f: f.write(resp.content) print(f"✅ frame_{i}.png 下载完成") except Exception as e: print(f"❌ frame_{i}.png 下载失败: {str(e)}") time.sleep(0.5) # 避免请求过于频繁被限制 # 开始下载 download_frames(first_start, first_end, first_url) download_frames(second_start, second_end, second_url)
- 运行脚本:
- 打开命令提示符(CMD),切换到脚本所在文件夹,输入
pip install requests安装依赖,回车。 - 输入
python download_frames.py,回车开始下载。
- 打开命令提示符(CMD),切换到脚本所在文件夹,输入
注意事项
- 确认URL规律:如果首尾帧的毫秒数不是连续的(比如中间有缺失),脚本会自动跳过下载失败的帧,你可以根据错误提示排查问题。
- 网络限制:如果遇到频繁被网站拒绝的情况,把
Start-Sleep -Milliseconds 500或time.sleep(0.5)的数值调大(比如改成1秒)。 - 保存路径:脚本运行的文件夹就是图片保存的位置,建议提前新建一个空文件夹存放。
内容的提问来源于stack exchange,提问作者OUTEIRAL DIAS Esteban
相关产品推荐
相关产品推荐

