🖼️ Web Image Downloader - 网页图片下载器 v1.3.0
输入任意网站地址,自动提取并下载该网页上所有的图片,按类型分类并打包为 ZIP。
功能特性
- ✅ MD5 去重(哈希比对)
- ✅ 感知哈希去重(识别缩放/裁剪后的相似图片)🆕
- ✅ Cookie 支持(
--cookie/--cookie-file,下载登录态内容)🆕 - ✅ 断点续传(
--resume参数,中断后恢复)🆕 - ✅ 语义化文件命名(优先用 alt 文本命名)🆕
- ✅ 并发下载(ThreadPoolExecutor 加速)🆕
- ✅ 图集识别(画廊/相册模式)
- ✅ 下载进度条
- ✅ 自定义尺寸过滤
- ✅ 广告图过滤
- ✅ 增量更新
- ✅ 按类型分类(JPG/PNG/GIF/WebP/SVG/AVIF/HEIC/Other)
- ✅ 自动打包为 ZIP
安装
将整个 web-image-downloader/ 文件夹复制到你的技能目录即可,各平台常见位置:
| 平台 | 技能目录 |
|------|---------|
| Windows | %USERPROFILE%\.workbuddy\skills\ |
| macOS / Linux | ~/.workbuddy/skills/ |
依赖:pip install -r requirements.txt
目录结构
web-image-downloader/
├── SKILL.md # 主入口文件
├── README.md # 说明文档
├── references/ # 参考文档
│ ├── filter-rules.md # 过滤规则详解
│ ├── api-reference.md # 技术接口文档
│ └── output-format.md # 输出格式说明
├── scripts/ # 可执行脚本
│ ├── __init__.py # 包初始化
│ ├── main.py # 主程序
│ ├── dedupe.py # 去重模块
│ ├── progress.py # 进度条
│ └── zipper.py # ZIP 打包
├── assets/ # 静态资源
│ └── download-form.html # 下载表单界面
└── evals/ # 测试用例
└── evals.json
使用方法
在 WorkBuddy 中使用
直接告诉我要下载图片的网址:
下载 https://example.com/gallery
新增用法 (v1.3.0)
# Cookie 登录态
下载 https://weibo.com/u/123/album,cookie="SUB=xxx"
# 断点续传
下载 https://example.com/gallery,resume
# 高并发
下载 https://example.com/walls,并发数 8
可选参数
| 参数 | 说明 | 示例 |
|------|------|------|
| 最小尺寸 | 宽度或高度 ≥ 此值(px) | 最小 1920px |
| 最大尺寸 | 宽度或高度 ≤ 此值(px) | 最大 4000px |
| 增量更新 | 只下载新增图片 | 增量更新 |
| 图集检测 | 是否识别图片集 | 图集检测关闭 |
| Cookie | 登录态 Cookie | cookie="SUB=xxx" 🆕 |
| 断点续传 | 从中断位置继续 | resume 🆕 |
| 并发数 | 同时下载数量 | 并发数 8 🆕 |
输出
下载完成后会生成:
web-images/example.com/
├── JPG/
│ ├── landscape_sunset.jpg # 语义化命名 🆕
│ └── mountain_view.jpg
├── PNG/
├── GIF/
├── WebP/
├── SVG/
├── AVIF/
├── HEIC/
├── Other/
├── report.json
└── example.com.zip
命令行参考
python scripts/main.py <url> [options]
基础选项:
--output=<path> 输出目录
--min-size=<px> 最小尺寸
--max-size=<px> 最大尺寸
--no-gallery 关闭图集识别
--incremental 增量更新
--concurrency=<n> 并发下载数 (默认: 3)
新增 (v1.3.0):
--cookie="k=v;..." Cookie 字符串
--cookie-file=<path> Netscape 格式 Cookie 文件
--resume 断点续传
--no-phash 关闭感知哈希去重
--phash-threshold=<n> 感知哈希阈值 (默认: 10)
版本历史
- v1.3.0 - 🆕 Cookie 支持、断点续传、感知哈希真实集成、语义化文件命名、并发下载
- v1.2.0 - 支持去重、图集识别、进度条、尺寸过滤、广告过滤、增量更新
- v1.1.0 - 支持按类型分类打包 ZIP
- v1.0.0 - 基础下载功能
Scan to join WeChat group