前言¶
做素材收集或页面备份时,常见做法是浏览器逐张另存,或自己写脚本解析 img / srcset、处理懒加载和 CDN 参数。页面一旦带图集、登录 Cookie、重复缩略图,脚本会很快变长。下面介绍 SkillHub 社区 Skill「网页图片批量下载」(坐标 @user_0c7f1934/web-image-downloader,当前版本 1.4.4),让对话 Agent 按固定流程完成提取、过滤、下载与 ZIP 打包。
这是什么¶
「网页图片批量下载 · 爬图素材打包」是社区发布者 user_0c7f1934 维护的 Agent Skill,分类为 data-analysis,来源为 community,标签标明 requires_api_key=false(无需单独配置 API Key)。Skill 的定位是:输入任意网站地址,自动提取并下载该网页上的图片,并按类型或启发式分类整理后打包。
官方入口:
- SkillHub 页面:https://www.skillhub.cn/skills/user_0c7f1934/web-image-downloader
- API 坐标页:https://api.skillhub.cn/user_0c7f1934/web-image-downloader
在 SkillHub 上,该 Skill 评分 100000,下载量 6776,安装量 6(数据取自 SkillHub 页面展示,会随时间变化)。
核心功能¶
以下能力均来自 Skill 自带的 SKILL.md 与目录说明,可按模块理解。
触发方式¶
安装并启用后,当用户说出类似意图时 Agent 会选用本 Skill,例如:
- 「下载网页图片」「下载这个网站的所有图片」「批量下载图片」
- 「下载网页上的图片」「帮我把这个页面的图片都下下来」
- 「爬图」「把网页图片全下下来」「抓图库」「批量存图」
格式与提取¶
支持 JPG、PNG、GIF、WebP、SVG、AVIF、HEIC 等常见格式。流程上会先抓取 HTML、解析图片链接,并可做图集(画廊/相册)识别。
过滤与去重¶
- MD5 去重,相同文件只保留一份。
- 感知哈希(pHash)去重,用于识别缩放、裁剪后的相似图。
- 尺寸过滤:可设最小/最大宽高(默认最小边 100px)。
- 广告过滤:按路径、文件名的元数据做整词匹配,文档中说明了短词误杀规则。
- 质量过滤(v1.4.0):模糊度、色彩丰富度、大面积水印等,默认开启,最低质量分默认 60。
- 内容校验:对 HTTP 200 但实为 HTML 的响应,用魔数与 PIL 解码校验,非图片记为失败且不落盘。
下载与登录态¶
- 并发下载,默认并发数 3,可通过参数调高。
- Cookie 登录态:支持 Cookie 字符串或 Netscape 格式 Cookie 文件。
- 断点续传:依赖
session.json恢复进度。 - 增量更新:对比已有记录,只拉新增 URL。
- 语义化命名:优先使用图片
alt文本。
分类与输出¶
- 「AI 智能分类」在实现上是 8 类启发式分析(人物、风景、产品、截图、图标、文档、插画、其他),结果会落到对应子目录。
- 默认按格式分子目录(JPG/、PNG/ 等),并生成
report.json、打包{域名}.zip;打包顺序为先写报告再 ZIP,避免包里缺少report.json。
安装与启用¶
1. 安装 SkillHub CLI(若尚未安装)¶
按 SkillHub 官方安装文档检查与安装 CLI:
command -v skillhub && skillhub --version
未安装时可执行(完整安装,含默认 Skill):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
说明文档:https://skillhub.cn/install/skillhub.md
SkillHub 页面 meta 中也写明:请根据上述文档安装 web-image-downloader。
2. 将 Skill 装到当前 Agent 的 skills 目录¶
安装时必须用 --dir 指向当前客户端识别的 skills 目录,否则默认落在 ./skills/ 可能不会被 Agent 加载。常见路径示例:
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
安装命令示例(slug 以搜索/安装结果为准):
skillhub install @user_0c7f1934/web-image-downloader --dir ~/.cursor/skills/
装好后按你所用客户端要求刷新或重启,使 Skill 被索引。
3. 准备 Python 依赖(执行脚本时)¶
Skill 包内脚本依赖下列 Python 库,需在 Skill 目录或你的工作环境中安装:
pip install -r requirements.txt
SKILL.md 列出的依赖为:requests、beautifulsoup4、Pillow、numpy。
典型用法¶
在对话里直接说需求¶
Skill 设计为自然语言驱动。你可以只给 URL,也可以附带过滤条件。SKILL.md 中的示例如下(原文意图,可在 Agent 中照说或略作改写):
# 基础下载
下载 https://wallhaven.cc/search?q=landscape
# 质量过滤 + AI 分类
下载 https://example.com/photos,最小 1920px
# Cookie 登录
下载 https://weibo.com/u/123456/album,cookie="SUB=xxx"
# 断点续传
下载 https://example.com/gallery,resume
# 高并发快速下载
下载 https://example.com/wallpapers,并发数 8
# 批量:逗号分隔多个站点
下载 https://site1.com,https://site2.com,https://site3.com/photos
# 从文件批量
下载 https://example.com,url-file=urls.txt
# 关闭分类或质量过滤
下载 https://example.com,no-classify,no-quality
Agent 会按 Skill 描述的步骤执行:抓取、解析、图集识别、去重、广告与质量过滤、并发下载、分类子目录、写 report.json 并打 ZIP。
命令行(Skill 内 scripts/main.py)¶
若需要在本机直接跑脚本,入口为 Skill 包内的 scripts/main.py(在 Skill 安装目录下进入 scripts 后执行):
python main.py <url | url1,url2,url3> [options]
常用选项(节选,与 SKILL.md 一致):
# 基础
--output=<path> # 输出目录
--min-size=<px> # 最小尺寸,默认 100
--max-size=<px> # 最大尺寸
--no-gallery # 关闭图集识别
--incremental # 增量更新
--concurrency=<n> # 并发数,默认 3
# 登录与续传
--cookie="k=v;..." # Cookie 字符串
--cookie-file=<path> # Netscape Cookie 文件
--resume # 断点续传
--no-phash # 关闭感知哈希去重
# v1.4.0
--url-file=<path> # 从文件读取 URL 列表
--no-quality # 关闭质量过滤
--quality-score=<n> # 最低质量分 0–100,默认 60
--no-classify # 关闭智能分类
默认保存路径为 Downloads/web-images/[域名]/,可在对话或 --output 中覆盖。
适用场景与注意¶
适合谁
- 需要从单个或多个公开页面批量落盘图片的设计、运营、研究或备份场景。
- 页面结构复杂、带图集或大量 CDN 变体,希望交给 Agent 按 Skill 既定流水线处理。
- 需要 Cookie 才能看到的相册类页面(须自行提供合法 Cookie,并遵守站点条款)。
使用上要注意
- 合规与版权:仅对你有权抓取、保存的内容使用;Skill 只提供技术能力,不替代授权判断。
- 反爬与速率:并发过高可能触发封禁,可先使用默认并发 3,再按需调整。
- 「AI 分类」含义:文档写明为启发式 8 类,不是调用外部大模型 API 的必选步骤;若不需要子目录整理,可用
no-classify。 - 环境:除 Skill 安装外,执行脚本需本机 Python 与
requirements.txt依赖;沙箱或离线环境需自行解决网络与 pip 源。 - 增量与 session:增量模式会保留
session.json供下次对比;打包 ZIP 后会按文档顺序清理会话文件,避免包里带上过期 session。
结尾¶
「网页图片批量下载」把「给 URL → 过滤重复与低质图 → 并发拉取 → 分类目录 + ZIP」收成一套可重复的 Agent 工作流,减少手写爬虫的维护成本。若你要在 Cursor 等客户端里试用,可按上文用 skillhub install 装到对应 skills 目录,并准备好 Python 依赖。
官方 SkillHub 页面:https://www.skillhub.cn/skills/user_0c7f1934/web-image-downloader