網頁圖片批量下載:用 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

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

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

小夜