← Back to skills
extension
Category: Data & AnalyticsNo API key required

网页图片批量下载

输入网址自动提取并下载该页全部图片,按类型/AI 分类并打包 ZIP。支持去重检测、图集识别、尺寸过滤、广告过滤、增量更新、Cookie 登录态、并发下载

personAuthor: user_0c7f1934hubcommunity

🖼️ 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 - 基础下载功能