圖片爬蟲

👤 大謙世界 📦 v1.0.0 ⭐ 4.5 ⬇️ 2.4K 下載
📊 資料分析 免費

📖 技能介紹


name: image-scraper description: "為內容創作爬取高畫質配圖(百度圖片/Wallhaven/Unsplash),支援4K原圖下載"


高畫質圖片爬蟲

為內容創作爬取 4K 高畫質配圖。支援多個圖片來源,按優先順序自動切換。

優先順序:百度圖片搜尋(主) → Wallhaven(備) → Unsplash(備)


圖片規格目標

  • 豎圖:高度 2000px 以上(越高越好)
  • 橫圖:寬度 2000px 以上
  • 方圖:寬高均 1500px 以上
  • 風格:真人攝影風格,避開動漫/暴露/擦邊內容

尺寸預設速查表

預設 橫圖 (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

推薦指令碼(v8 重構版,一鍵執行)

# ── 單關鍵詞爬取(最常用)────────────────────────
# 目標自動 × 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-w6C5Odata-show-ext 屬性直接提取原圖 URL
更快更穩定 無需等待 hover 觸發,資料已在 DOM 中
全圖源支援 支援抖音、B站、得物等所有來源的原圖下載
原子計數器 AtomicCounter 類,執行緒安全的檔名生成
即時進度 每 20 張列印一次進度
雜湊去重 下載前 MD5 校驗,避免重複下載
分批下載 100 張/批,邊提取邊下載
自動後處理 MD5去重 → 刪除低質量圖 → 重新命名編號

技術流程(v8 新方案):開啟搜尋頁 → 最大化視窗 → 等待圖片網格渲染 → 滾動載入 → 直接從 .img-cell-w6C5Odata-show-ext 屬性提取 objurl(原圖URL)→ 立即併發下載每一批 → MD5 雜湊去重

核心原則:直接下載 objurl(原圖 URL) objurl 是百度圖片搜尋結果中的原圖地址,包含在 data-show-ext JSON 屬性中。 抖音等來源的 objurl 可以直接下載(經過百度 CDN 快取)。

技術要點

專案 說明
資料位置 .img-cell-w6C5O 元素的 data-show-ext 屬性(JSON 格式)
原圖 URL data-show-ext.objurl
其他欄位 url(縮圖)、title(標題)、cssetsign
抖音圖片 直接使用 objurl 下載,無需特殊處理
JS 引號 提取 JSON 屬性時自動解析
瀏覽器視窗 每次開啟後最大化
連結來源 miaobi-lite.cdn.bcebos.com(百度 CDN)、douyinpic.com

圖源質量排名

豎圖(portrait)推薦

排名 來源 典型解析度 質量 備註
🥇 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 中高 真實攝影風格

橫圖(landscape)推薦

排名 來源 典型解析度 質量 備註
🥇 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

注意事項

  • 大量下載(>200張):用 --keywords 多關鍵詞模式,自動切換關鍵詞補充到目標數量

    小蔥技能7w4.net有完整的技能分類。

  • 豎圖用 --ratio portrait:更容易找到 4K+ 內容
  • 高質量用 --z 7:百度優先返回近期高質量圖片
  • JS 選擇器必須用單引號'a[href*=down]',雙引號 "a[href*=down]" 會被 PowerShell 截斷命令
  • 百度連結會過期:必須分批提取+立即下載,不要一次性提取所有連結後再下載

二、WALLHAVEN.CC(備選)

純 API 呼叫,無需瀏覽器。豎版圖片多,解析度普遍 3500x5250 ~ 4096x4096

API 呼叫

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

三、UNSPLASH(備選)

真實攝影風格為主,原圖可達 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 數量

百度不夠時用 Wallhavenwallhaven.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,支援所有來源(含抖音)

各平臺配圖尺寸建議

平臺 尺寸預設 說明
公眾號文章配圖 4K_landscape(3840×2160) 16:9 橫圖
公眾號貼圖 4K_portrait(2160×3840) 9:16 豎圖
小紅書封面/豎圖 4K_portrait1080+_portrait 3:4 豎圖最佳
小紅書筆記配圖 4K_square1080+_square 1:1 方圖
微博配圖 4K_landscape4K_square 橫圖或方圖

常見問題

Q1: 下載數量不足(比如要500張只下到300張)

原因:百度頁面載入的圖片數量有限,部分連結下載失敗(403/超時)。

解決: 1. 用 --keywords 多關鍵詞模式:--keywords "JK少女" "JK制服 少女" "JK 高畫質美女" 2. 增加 --scroll 引數,比如 --scroll 25--scroll 30 3. 指令碼已內建去重,重複執行不會下載相同圖片

Q2: 有很多重複圖片

原因:同一圖片可能在不同索引位置,或多次執行指令碼導致。

解決: 1. 指令碼已內建 MD5 雜湊去重,下載時會自動跳過已存在的圖片 2. 手動清理:python scripts/baidu_image_scraper_unified.py --clean --output "目錄" 3. 清理模式會:刪除小檔案 + 雜湊去重 + 重新編號

Q3: 抖音圖片下載失敗

原因:舊方案中直接下載抖音原始 URL(url= 引數)會 403。

解決:v8 新方案直接提取 data-show-ext.objurl,該 URL 指向百度 CDN 快取(miaobi-lite.cdn.bcebos.com),可直接下載。

Q4: 指令碼看起來"卡住不動"

可能原因: 1. 滾動階段需要等待(每次 1.2 秒 × 滾動次數) 2. 大量連結下載中(每批 100 張,預設 8 執行緒) 3. 頁面載入慢或出現驗證碼

解決:v7 已增加即時進度列印,可以看到每 20 張的下載進度。如果長時間無輸出,可能是百度觸發了驗證碼,需要手動關閉瀏覽器重試。


指令碼清單

指令碼 說明 狀態
scripts/baidu_image_scraper_v8.py v8 重構版 - 優先 objurl,失敗用 url 兜底 ✅ 唯一指令碼

禁止使用

  • ❌ 攝圖網(解析度低)
  • ❌ 知乎圖片(壓縮嚴重)
  • ❌ image.so.com(質量差)
  • ❌ Picsum(隨機圖,不相關)
  • ❌ AI 生成圖片(任何平臺)

🤖 AI 評測

這個圖片爬蟲工具質量不錯,能自動從多個平臺抓取高畫質圖片,文件寫得很詳細,小白也能上手。優點是圖源豐富、支援 4K 解析度、下載後自動去重和過濾低質量圖;不足是依賴特定的瀏覽器工具(macOS 使用者更友好),安裝指令碼存在檔名匹配問題可能導致執行失敗。總體適合有內容創作需求的圖片收集,入手前需確認環境相容性。

📊 多維度評分

適應性4.4
規範性4.5
有效性4.4
可靠性4.2
可信度5

📁 包含檔案 (5 個)

📄 README.md 4.4 KB
📄 SKILL.md 12.1 KB
📄 install.sh 2.4 KB
📄 requirements.txt 192 B
📄 scripts/baidu_image_scraper_v8.py 32.4 KB