网页图片批量下载:用 Agent Skill 从单页 URL 拉全站图并打包

前言

做素材收集或页面备份时,常见做法是浏览器逐张另存,或自己写脚本解析 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,并遵守站点条款)。

使用上要注意

  1. 合规与版权:仅对你有权抓取、保存的内容使用;Skill 只提供技术能力,不替代授权判断。
  2. 反爬与速率:并发过高可能触发封禁,可先使用默认并发 3,再按需调整。
  3. 「AI 分类」含义:文档写明为启发式 8 类,不是调用外部大模型 API 的必选步骤;若不需要子目录整理,可用 no-classify。
  4. 环境:除 Skill 安装外,执行脚本需本机 Python 与 requirements.txt 依赖;沙箱或离线环境需自行解决网络与 pip 源。
  5. 增量与 session:增量模式会保留 session.json 供下次对比;打包 ZIP 后会按文档顺序清理会话文件,避免包里带上过期 session。

结尾

「网页图片批量下载」把「给 URL → 过滤重复与低质图 → 并发拉取 → 分类目录 + ZIP」收成一套可重复的 Agent 工作流,减少手写爬虫的维护成本。若你要在 Cursor 等客户端里试用,可按上文用 skillhub install 装到对应 skills 目录,并准备好 Python 依赖。

官方 SkillHub 页面:https://www.skillhub.cn/skills/user_0c7f1934/web-image-downloader

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye