bing圖片批次下載skill

👤 16miku 📦 v2.0.1 ⭐ 4.4 ⬇️ 1K 下載
📊 資料分析 免費

📖 技能介紹


name: image-downloader description: 當用戶需要按關鍵詞批次下載圖片、從 Bing 或多個圖片來源收集候選、儲存圖片到本地目錄、避免重複下載,或希望複用當前倉庫裡的現成圖片下載流程時使用。遇到類似“幫我按關鍵詞下載 10 張圖片”“批次抓取 Bing 圖片並儲存到本地”“從多個來源收集圖片候選再下載”“需要下載摘要和儲存目錄”這類請求時,應主動使用這個 skill。


多來源關鍵詞圖片批次下載

這個 skill 用於複用當前目錄中的 scripts/bing_image_downloader.py 指令碼,讓其他 agent 能穩定完成“按關鍵詞從多個來源收集候選並下載圖片到本地”的任務。

專案連結

  • GitHub 倉庫:https://github.com/16Miku/image-downloader-skill
  • ClawHub 頁面:https://clawhub.ai/16miku/image-downloader

何時使用

當用戶明確提出以下型別需求時,優先使用本 skill: - 按關鍵詞批次下載公開圖片到本地 - 想從 Bing 或當前指令碼支援的多個來源收集圖片候選 - 想儲存 10、50、100 張關鍵詞圖片到本地目錄 - 想通過增加頁數或擴大候選池來提高最終成功數量 - 想複用現成指令碼執行下載,並拿到儲存目錄、成功數量和執行摘要 - 想避免重複下載之前已經儲存過的內容

如果使用者要的是: - 其他搜尋引擎或站點的專用下載器開發 - 影像識別、分類、稽核、打標 - 非關鍵詞方式(例如固定頁面 URL 批次抓取)

則這個 skill 不是最佳選擇。

依賴檔案

  • 主指令碼:scripts/bing_image_downloader.py
  • 測試檔案:tests/test_bing_image_downloader.py
  • 整合測試:tests/test_integration_multisource.py

工作流程

按下面順序執行:

  1. 讀取使用者需求中的關鍵詞、目標數量、頁數。
  2. 如果使用者沒給頁數,按下面經驗值選擇:
  3. 10 張:--pages 3
  4. 50 張:--pages 5
  5. 100 張:--pages 10
  6. 執行指令碼:
  7. 如果當前環境有 uv,使用 uv run --with requests python 執行。
  8. 如果沒有 uv(例如伺服器、容器、OpenClaw Agent),直接使用 python3 執行,需確保 requests 已安裝。
  9. 檢查輸出中:
  10. 成功下載數量
  11. 候選總數與去重後數量
  12. 來源統計
  13. 失敗原因(常見為 403、SSL、超時)
  14. 向用戶彙報:
  15. 實際儲存目錄
  16. 成功數量
  17. 是否達到目標數量
  18. 當前來源統計
  19. 如未達標,說明通常是第三方源站拒絕訪問、超時或連結失效,而非指令碼崩潰

推薦命令模板

有 uv 環境

下載 10 張

uv run --with requests python "scripts/bing_image_downloader.py" "cat" --limit 10 --pages 3

下載 50 張

uv run --with requests python "scripts/bing_image_downloader.py" "cat" --limit 50 --pages 5

下載 100 張

uv run --with requests python "scripts/bing_image_downloader.py" "cat" --limit 100 --pages 10

無 uv 環境(伺服器 / OpenClaw Agent)

python3 "scripts/bing_image_downloader.py" "cat" --limit 10 --pages 3

引數對映規則

  • 使用者說“下載 10 張” → --limit 10
  • 使用者說“下載 50 張” → --limit 50
  • 使用者說“下載 100 張” → --limit 100
  • 使用者沒說頁數時,按上面的推薦預設值設定 --pages
  • 使用者明確給出頁數時,尊重使用者輸入

輸出說明

指令碼會把結果儲存到:

7w4.net小蔥技能。

downloads/<關鍵詞>/

例如關鍵詞 cat 會儲存到:

downloads/cat/

檔名按順序編號,例如: - 001.jpg - 002.jpg - 003.png

此外,指令碼會記錄下載後設資料與歷史索引,用於後續執行時跳過已下載過的候選內容。

常見問題解釋

為什麼會出現下載失敗?

因為搜尋結果中的原圖通常來自第三方網站,不是都由當前來源自己託管。第三方站點可能拒絕指令碼訪問,常見錯誤: - 403 Forbidden - SSL 證書錯誤 - 連線超時 - 404 Not Found

為什麼加大 --pages 後下載數量會提高?

因為指令碼會抓更多結果頁,收集更大的候選連結池。即使其中一部分連結失效,仍然可以用後面的候選補位。

給使用者的彙報模板

完成後可按下面結構回覆使用者:

已執行關鍵詞圖片批次下載。
- 關鍵詞:<關鍵詞>
- 目標數量:<limit>
- 抓取頁數:<pages>
- 候選總數:<候選數量>
- 去重後數量:<去重後數量>
- 實際成功下載:<成功數量>
- 來源統計:<來源統計>
- 儲存目錄:downloads/<關鍵詞>/

如果存在失敗連結,通常是第三方圖片源拒絕訪問、超時或連結失效,不影響指令碼繼續補充後續候選。

注意事項

  • 這是一個“按關鍵詞下載公開圖片”的現成流程複用 skill,當前來源至少包含 Bing,不要把它表述成通用全網圖片下載器。
  • 優先複用現有指令碼,不要重複手寫新下載器,除非使用者明確要求修改或升級指令碼。
  • 當用戶要求“提高下載數量”時,優先建議增加 --pages 或擴大候選池,而不是先改成併發下載。
  • 當用戶提到”不想重複下載”時,應明確說明當前流程支援基於歷史索引跳過重複候選。

OpenClaw Agent 定時任務

本 skill 已在 OpenClaw Agent 上完成實際驗證,支援通過 cron 定時任務自動下載圖片併發送到飛書。

定時任務執行流程

  1. 設定 PATHbash 嚴格模式
  2. 檢查 Python 和 requests 環境
  3. 執行圖片下載指令碼
  4. 檢查下載目錄中的圖片檔案
  5. 逐張呼叫 openclaw message send 傳送到飛書
  6. 記錄結果到日誌

傳送到飛書的正確命令

openclaw message send \
  --channel feishu \
  --target “<飛書接收人 open_id>” \
  --media “/path/to/downloads/關鍵詞/001.jpg” \
  --json

已驗證的注意事項

  • demo 來源的 NameResolutionError 報錯是正常現象,可忽略
  • “實際成功下載 0”可能是歷史去重生效,不代表任務失敗
  • cron 環境中需要顯式設定 PATH,避免找不到 python3openclaw
  • 傳送失敗時優先檢查 CLI 命令格式,不要先入為主認為是許可權問題

詳細部署步驟和指令碼模板見 README.md 的”OpenClaw Agent 部署與定時任務”章節。

🤖 AI 評測

這個 Skill 質量不錯,文件寫得很詳細清楚,普通人也能快速上手用它批次下載圖片。它能同時從多個來源抓取候選圖片、自動去重、跳過之前下過的內容,還能輸出執行統計報告。主要缺點是圖片來源有限,下載失敗比較常見(通常是第三方網站拒絕訪問導致),不適合追求高成功率的場景。簡單用用夠用了,但不要期望能穩定下載滿所有目標數量。

📊 多維度評分

適應性4.7
規範性4.4
有效性4.3
可靠性4.2
可信度4.8

📁 包含檔案 (22 個)

📄 CLAUDE.md 3.8 KB
📄 README.md 9.7 KB
📄 SKILL.md 6.3 KB
📄 _meta.json 135 B
📄 docs/superpowers/plans/2026-04-10-multi-source-image-downloader.md 51.2 KB
📄 docs/superpowers/plans/2026-04-10-mvp-completion-alignment.md 12.3 KB
📄 docs/superpowers/specs/2026-04-10-multi-source-image-downloader-design.md 17.3 KB
📄 docs/superpowers/specs/2026-04-10-mvp-completion-alignment-design.md 5.2 KB
📄 evals/evals.json 2.7 KB
📄 image_downloader/__init__.py 0 B
📄 image_downloader/models.py 450 B
📄 image_downloader/reporting.py 663 B
📄 image_downloader/sources/__init__.py 0 B
📄 image_downloader/sources/base.py 302 B
📄 image_downloader/sources/bing.py 2.6 KB
📄 image_downloader/sources/demo.py 1 KB
📄 image_downloader/storage.py 2.8 KB
📄 scripts/bing_image_downloader.py 5.8 KB
📄 tests/test_bing_image_downloader.py 12.7 KB
📄 tests/test_integration_multisource.py 4.2 KB
📄 tests/test_models_and_sources.py 4.9 KB
📄 tests/test_storage.py 2.2 KB