name: image-scraper description: "為內容創作爬取高畫質配圖(百度圖片/Wallhaven/Unsplash),支援4K原圖下載"
為內容創作爬取 4K 高畫質配圖。支援多個圖片來源,按優先順序自動切換。
優先順序:百度圖片搜尋(主) → Wallhaven(備) → Unsplash(備)
| 預設 | 橫圖 (landscape) | 豎圖 (portrait) | 方圖 (square) | 備註 |
|---|---|---|---|---|
1080p |
1920×1080 | 1080×1920 | 1080×1080 | 入門級 |
1080+ |
2560×1440 | 1440×2560 | 1440×1440 | 強化爬取(&z=7) |
1.5K |
2250×1266 | 1266×2250 | 1500×1500 | 中端 |
2K |
2560×1440 | 1440×2560 | 2000×2000 | 2K 級別 |
4K |
3840×2160 | 2160×3840 | 3840×3840 | 高畫質(預設) |
8K |
7680×4320 | 4320×7680 | 7680×7680 | 超高畫質 |
1080+會強制加&z=7引數,告訴百度優先返回近期高質量圖片,爬取效果顯著優於普通模式。
重要:指令碼預設輸出到當前工作目錄下的
image-scraper-downloads/資料夾。 可用--output自定義路徑(支援絕對路徑和相對路徑)。
# 預設(當前工作目錄/image-scraper-downloads/)
python3 scripts/baidu_image_scraper_v8.py --keyword "JK少女" --count 100
# 自定義輸出目錄
python3 scripts/baidu_image_scraper_v8.py --keyword "JK少女" --count 100 --output ./my-images/
圖源最豐富,包含 B站、得物、大眾點評、愛奇藝等高質量 CDN 內容,豎圖可達 4K+,橫圖可達 5K+
缺點:需要瀏覽器渲染提取圖片 URL,無法直接 curl
# ── 單關鍵詞爬取(最常用)────────────────────────
# 目標自動 × 1.2,內部 buffer;關鍵詞不夠自動換備用詞;下載完自動去重+刪低質量
# 預設輸出到 ./image-scraper-downloads/
python3 scripts/baidu_image_scraper_v8.py --keyword "JK少女" --count 100
python3 scripts/baidu_image_scraper_v8.py --keyword "JK少女" --count 200 --output ./my-images --z 7 --scroll 20
python3 scripts/baidu_image_scraper_v8.py --keyword "JK少女" --count 100 --ratio portrait --z 7
python3 scripts/baidu_image_scraper_v8.py --keyword "4K風景" --count 50 --ratio landscape
# ── 多關鍵詞補充爬取 ─────────────────────────────
# 自動換關鍵詞,直到達到目標數量
python3 scripts/baidu_image_scraper_v8.py --keywords "JK制服 少女" "JK 高畫質美女" "日本JK制服" --count 500 --output ~/photos
# ── 從已有連結檔案下載 ─────────────────────────────
python3 scripts/baidu_image_scraper_v8.py --from-file links.json --output output --count 100
# ── 清理(手動)─────────────────────────────────
python3 scripts/baidu_image_scraper_v8.py --clean --output ~/photos
前置要求:agent-browser 命令可用(WorkBuddy 內建)
v8 核心改進(重構版):
| 改進 | 說明 |
|---|---|
| 移除 hover | 百度新版不再生成 tn=download 連結,hover 邏輯已廢棄 |
| 直接提取 objurl | 從 .img-cell-w6C5O 的 data-show-ext 屬性直接提取原圖 URL |
| 更快更穩定 | 無需等待 hover 觸發,資料已在 DOM 中 |
| 全圖源支援 | 支援抖音、B站、得物等所有來源的原圖下載 |
| 原子計數器 | AtomicCounter 類,執行緒安全的檔名生成 |
| 即時進度 | 每 20 張列印一次進度 |
| 雜湊去重 | 下載前 MD5 校驗,避免重複下載 |
| 分批下載 | 100 張/批,邊提取邊下載 |
| 自動後處理 | MD5去重 → 刪除低質量圖 → 重新命名編號 |
技術流程(v8 新方案):開啟搜尋頁 → 最大化視窗 → 等待圖片網格渲染 → 滾動載入 → 直接從 .img-cell-w6C5O 的 data-show-ext 屬性提取 objurl(原圖URL)→ 立即併發下載每一批 → MD5 雜湊去重
核心原則:直接下載
objurl(原圖 URL)objurl是百度圖片搜尋結果中的原圖地址,包含在data-show-extJSON 屬性中。 抖音等來源的objurl可以直接下載(經過百度 CDN 快取)。
| 專案 | 說明 |
|---|---|
| 資料位置 | .img-cell-w6C5O 元素的 data-show-ext 屬性(JSON 格式) |
| 原圖 URL | data-show-ext.objurl |
| 其他欄位 | url(縮圖)、title(標題)、cs、setsign |
| 抖音圖片 | 直接使用 objurl 下載,無需特殊處理 |
| JS 引號 | 提取 JSON 屬性時自動解析 |
| 瀏覽器視窗 | 每次開啟後最大化 |
| 連結來源 | miaobi-lite.cdn.bcebos.com(百度 CDN)、douyinpic.com 等 |
| 排名 | 來源 | 典型解析度 | 質量 | 備註 |
|---|---|---|---|---|
| 🥇 | p1.meituan.net(美團CDN) |
4480×6720 | 極高 3MB+ | 來源極豐富 |
| 🥈 | q1.itc.cn / q8.itc.cn(愛奇藝CDN) |
3000×4000 | 高 | 豎圖橫圖均有 |
| 🥉 | b0.bdstatic.com(百度CDN) |
2000×2667 | 高 | 豎圖來源多 |
| 4 | pic.rmb.bdstatic.com(貼吧/百科CDN) |
1080×1621 | 高 | 穩定,直鏈 |
| 5 | image-cdn.poizon.com(得物CDN) |
1280×1920 | 高 | 穩定 |
| 6 | dpfile.com(大眾點評CDN) |
1440×1920 | 高 | 豎圖方圖均有 |
| 7 | photo.tuchong.com(圖蟲攝影) |
1080×1620 | 中高 | 真實攝影風格 |
| 排名 | 來源 | 典型解析度 | 質量 | 備註 |
|---|---|---|---|---|
| 🥇 | q4.itc.cn(愛奇藝CDN) |
5307×4009 | 極高 | 最佳橫圖來源 |
| 🥈 | 5b0988e595225.cdn.sohucs.com(搜狐CDN) |
3500×2214 | 高 | 質量極高 |
| 🥉 | b0.bdstatic.com(百度CDN) |
2560×1440 | 高 | 橫圖約2000px |
| 4 | i0.hdslb.com / i1.hdslb.com(B站CDN) |
2560×1440 | 高 | 穩定 |
| 5 | dpfile.com(大眾點評CDN) |
3070×2048 | 高 |
| 來源 | 原因 |
|---|---|
douyinpic.com(抖音) |
✅ 可以下載! v8 新方案直接提取 objurl 下載,無需百度代理。objurl 指向 miaobi-lite.cdn.bcebos.com(百度 CDN 快取),可直接訪問。 |
sinaimg.cn(新浪微博) |
需正確 Referer,直接curl被攔截 |
iknow-pic.cdn.bcebos.com(百度百科) |
需百度 Referer,外部無法訪問 |
gimg2.baidu.com(百度搜索圖) |
同上,需百度 Referer |
nimg.ws.126.net(網易雲音樂) |
Referer限制,下載返回0位元組 |
p3-tt.byteimg.com(位元組/頭條) |
需今日頭條/抖音 Referer |
--keywords 多關鍵詞模式,自動切換關鍵詞補充到目標數量--ratio portrait:更容易找到 4K+ 內容--z 7:百度優先返回近期高質量圖片'a[href*=down]',雙引號 "a[href*=down]" 會被 PowerShell 截斷命令純 API 呼叫,無需瀏覽器。豎版圖片多,解析度普遍 3500x5250 ~ 4096x4096
https://wallhaven.cc/api/v1/search?q=關鍵詞&categories=111&purity=100&topRange=1M&page=1
| 引數 | 值 | 說明 |
|---|---|---|
| q | 搜尋詞 | jk, school girl, portrait 等 |
| categories | 111 | 人物分類 |
| purity | 100 | 清除 NSFW |
| topRange | 1M | 最近一個月最熱門 |
| page | 1 | 分頁 |
jk, jk portrait, jk school, portrait photography, candid portrait
真實攝影風格為主,原圖可達 4000-9500px
# 下載原圖(關鍵:加 ?q=100&fm=jpg&raw=1)
curl -s -o output.jpg "https://images.unsplash.com/photo-xxx?q=100&fm=jpg&raw=1"
配圖優先順序:百度圖片搜尋(主) → Wallhaven(備) → Unsplash(備)
配圖規範寫作模板:
配圖從百度圖片搜尋爬取高畫質圖(詳見本 skill),嚴禁AI生成圖片。
百度圖片(v8 重構版): - 單關鍵詞:
python scripts/baidu_image_scraper_v8.py --keyword "關鍵詞" --count 數量- 多關鍵詞:python scripts/baidu_image_scraper_v8.py --keywords "詞1" "詞2" --count 數量 --output "目錄"- 豎圖:加--ratio portrait --z 7- 橫圖:加--ratio landscape --z 7- 清理去重:python scripts/baidu_image_scraper_v8.py --clean --output "目錄"從已有連結檔案下載:
python scripts/baidu_image_scraper_v8.py --from-file links.json --output "目錄" --count 數量百度不夠時用 Wallhaven:
wallhaven.cc/api/v1/search?q=關鍵詞&categories=111&purity=100再不夠用 Unsplash:下載時加
?q=100&fm=jpg&raw=1引數禁止使用:攝圖網、知乎、image.so.com、Picsum 等平臺
注意:v8 直接從
data-show-ext.objurl提取原圖 URL,支援所有來源(含抖音)
7w4.net收錄了海量優質技能外掛。
| 平臺 | 尺寸預設 | 說明 |
|---|---|---|
| 公眾號文章配圖 | 4K_landscape(3840×2160) |
16:9 橫圖 |
| 公眾號貼圖 | 4K_portrait(2160×3840) |
9:16 豎圖 |
| 小紅書封面/豎圖 | 4K_portrait 或 1080+_portrait |
3:4 豎圖最佳 |
| 小紅書筆記配圖 | 4K_square 或 1080+_square |
1:1 方圖 |
| 微博配圖 | 4K_landscape 或 4K_square |
橫圖或方圖 |
原因:百度頁面載入的圖片數量有限,部分連結下載失敗(403/超時)。
解決:
1. 用 --keywords 多關鍵詞模式:--keywords "JK少女" "JK制服 少女" "JK 高畫質美女"
2. 增加 --scroll 引數,比如 --scroll 25 或 --scroll 30
3. 指令碼已內建去重,重複執行不會下載相同圖片
原因:同一圖片可能在不同索引位置,或多次執行指令碼導致。
解決:
1. 指令碼已內建 MD5 雜湊去重,下載時會自動跳過已存在的圖片
2. 手動清理:python scripts/baidu_image_scraper_unified.py --clean --output "目錄"
3. 清理模式會:刪除小檔案 + 雜湊去重 + 重新編號
原因:舊方案中直接下載抖音原始 URL(url= 引數)會 403。
解決:v8 新方案直接提取 data-show-ext.objurl,該 URL 指向百度 CDN 快取(miaobi-lite.cdn.bcebos.com),可直接下載。
可能原因: 1. 滾動階段需要等待(每次 1.2 秒 × 滾動次數) 2. 大量連結下載中(每批 100 張,預設 8 執行緒) 3. 頁面載入慢或出現驗證碼
解決:v7 已增加即時進度列印,可以看到每 20 張的下載進度。如果長時間無輸出,可能是百度觸發了驗證碼,需要手動關閉瀏覽器重試。
| 指令碼 | 說明 | 狀態 |
|---|---|---|
scripts/baidu_image_scraper_v8.py |
v8 重構版 - 優先 objurl,失敗用 url 兜底 | ✅ 唯一指令碼 |
這個圖片爬蟲工具質量不錯,能自動從多個平臺抓取高畫質圖片,文件寫得很詳細,小白也能上手。優點是圖源豐富、支援 4K 解析度、下載後自動去重和過濾低質量圖;不足是依賴特定的瀏覽器工具(macOS 使用者更友好),安裝指令碼存在檔名匹配問題可能導致執行失敗。總體適合有內容創作需求的圖片收集,入手前需確認環境相容性。