name: baidu-star-image-downloader
description: 从百度图片搜索批量下载指定明星高清原图,支持多搜索词变体覆盖、flipboard API、MD5去重、断点续下、重试机制、分辨率过滤。
trigger_keywords:
- 百度
- 图片
- 下载
- 明星
- 写真
- 壁纸
- 原图
- 高清
- 批量
- 爬图
- 搜图
- 扒图
version: "3.2"
author: Marvis (QClaw优化)
platforms:
- cli
- python3
input_schema:
star_name:
type: string
required: true
description: 明星中文全名
output_dir:
type: string
required: true
description: 图片输出目录绝对路径
search_terms:
type: array
required: false
description: 自定义搜索词列表
default: []
min_resolution:
type: integer
required: false
description: 最小分辨率(宽和高均需满足此值),默认512px
default: 512
min_size_kb:
type: integer
required: false
description: 最小文件大小(KB),默认10KB
default: 10
batch_size:
type: integer
required: false
description: 每批下载后暂停的张数,默认80
default: 80
pause_seconds:
type: integer
required: false
description: 每批暂停时长(秒),默认30
default: 30
max_workers:
type: integer
required: false
description: 最大并发线程数,默认10
default: 10
max_retries:
type: integer
required: false
description: 单URL最大重试次数,默认3
default: 3
output_schema:
images:
type: array
description: 去重编号后的图片文件路径列表
count:
type: integer
description: 最终唯一图片数量
total_size_mb:
type: number
description: 总文件大小(MB)
report:
type: string
description: 下载报告文件路径(UTF-8 BOM编码)
百度明星图片下载 Skill v3.2
> v3.2更新:修复URL追加写入bug、恢复默认分辨率512px(早年图片分辨率不高)
功能特性
| # | 功能 | 说明 |
|---|---|---|
| ✅ | 多搜索词变体 | 11个搜索词,覆盖写真/套图/壁纸/古装/剧照等 |
| ✅ | 智能断点续抓 | 边抓取边保存,中断后可继续 |
| ✅ | Cookie管理 | 自动获取百度Cookie,避免403 |
| ✅ | MD5去重 | 跨搜索词自动去重 |
| ✅ | 断点续下 | 每批次保存检查点,中断后可从上次位置继续 |
| ✅ | 重试机制 | 失败请求自动重试,默认3次,指数退避 |
| ✅ | 质量过滤 | 分辨率过滤(默认≥512px)+ 文件大小过滤 |
| ✅ | 分批下载 | 可配置批次大小和暂停时间,防IP封禁 |
| ✅ | 多线程下载 | 默认10线程,可配置 |
| ✅ | UTF-8 BOM报告 | PowerShell中文显示无乱码 |
| ✅ | 详细统计 | 含尺寸分布、格式统计、重试统计 |
依赖安装
pip install requests Pillow
执行流程
Step 1: 抓取URL
python scripts/fetch_urls.py "明星名字" "输出目录"
示例:
python scripts/fetch_urls.py "刘诗诗" "C:\prj\images\lss"
Step 2: 批量下载
python scripts/download.py "输出目录\urls.txt" "输出目录"
示例:
python scripts/download.py "C:\prj\images\lss\urls.txt" "C:\prj\images\lss"
Step 3: 查看报告
type "C:\prj\images\lss\download_report.txt"
配置参数
fetch_urls.py
| 参数 | 说明 | 默认值 |
|---|---|---|
star_name |
明星名字 | - |
output_dir |
输出目录 | - |
custom_terms... |
自定义搜索词 | 11个默认词 |
download.py
| 参数 | 说明 | v3.2默认值 |
|---|---|---|
--min-resolution |
最小分辨率(px) | 512 |
--min-size-kb |
最小文件大小(KB) | 10 |
--batch-size |
每批下载数量 | 80 |
--pause-seconds |
每批暂停秒数 | 30 |
--max-workers |
最大并发线程数 | 10 |
--max-retries |
最大重试次数 | 3 |
推荐参数组合:
| 场景 | 推荐命令 |
|---|---|
| 默认(均衡) | python download.py urls.txt "输出目录" |
| 高质量图片 | python download.py urls.txt "输出目录" --min-resolution 1024 --min-size-kb 50 |
| 快速下载 | python download.py urls.txt "输出目录" --max-workers 20 --batch-size 100 --pause-seconds 60 |
默认搜索词(11个)
| # | 搜索词 | # | 搜索词 |
|---|---|---|---|
| 1 | {star_name} |
7 | {star_name} 剧照 |
| 2 | {star_name} 写真 |
8 | {star_name} 杂志 |
| 3 | {star_name} 套图 |
9 | {star_name} 活动 |
| 4 | {star_name} 高清 |
10 | {star_name} 时尚 |
| 5 | {star_name} 壁纸 |
11 | {star_name} {role} |
| 6 | {star_name} 古装 |
实测数据
| 明星 | 版本 | 搜索词 | URL数 | 下载数 | 成功率 | 总容量 |
|---|---|---|---|---|---|---|
| 刘亦菲 | v2.0 | 15 | 203 | 203 | 100% | 80 MB |
| 陈都灵 | v2.0 | 1 | 353 | 353 | 100% | 125 MB |
| 白鹿 | v2.0 | 多词 | 1,363 | 1,325 | 97.2% | 690 MB |
| 刘亦菲 | v2.0 | 11 | 2,866 | 2,795 | 97.5% | 467 MB |
| 陈都灵 | v2.0 | 10 | 3,129 | 2,797 | 89.4% | 750 MB |
| 唐嫣 | v3.1 | 9 | 15,014 | 13,041 | 98.0% | 2,536 MB |
| 刘诗诗 | v3.2 | 10 | 16,443 | 9,555 | 58.1% | 2,574 MB |
> 刘诗诗成功率较低,主要因大量百度缩略图被分辨率过滤。
注意事项
| # | 规则 | 严重度 |
|---|---|---|
| 1 | 百度高频请求敏感,务必分批下载 | 🔴 |
| 2 | 每批暂停时间建议≥30秒 | 🔴 |
| 3 | 分辨率门槛默认512px,可根据需求调整 | 🟡 |
| 4 | 不要仅用主词,11词变体比单主词多3-5倍URL | 🟡 |
| 5 | 第三方CDN(douyinpic等)可能403,已自动处理 | 🟡 |
| 6 | 断点续下由.download_checkpoint.json驱动 |
🟢 |
故障排查
Q1: URL数量比预期少很多?
原因:v3.0及之前版本存在bug,每次保存URL时覆盖写入,只保留最后一个搜索词。
解决:v3.2已修复,使用追加模式('a')写入。
Q2: 断点续下不生效?
检查:.download_checkpoint.json 文件是否存在。
解决:删除检查点文件可从头开始:
Remove-Item "C:\prj\images\lss\.download_checkpoint.json"
Q3: 报告中文乱码?
原因:使用了非UTF-8方式打开。
解决:v3.2使用UTF-8 BOM,直接用type命令:
type "C:\prj\images\lss\download_report.txt"
文件清单
baidu-star-image-downloader/
├── SKILL.md
├── README.md
├── CHANGELOG.md
├── scripts/
│ ├── fetch_urls.py # URL抓取 v3.2
│ ├── download.py # 下载 v3.2 ⭐
│ └── monitor.py # 进度监控
├── install.bat
└── requirements.txt
更新历史
- v3.2 (2026-06-16): 修复URL追加写入bug、恢复默认分辨率512px
- v3.1 (2026-06-16): 断点续下、重试机制、UTF-8 BOM报告
- v3.0 (2026-06-15): flipboard API、断点续抓、多线程
- v2.0: 初始版本