告别右键另存为:3分钟摸清微博图片批量下载神器 weiboPicDownloader
【免费下载链接】weiboPicDownloaderDownload weibo images without logging-in项目地址: https://gitcode.com/gh_mirrors/we/weiboPicDownloader
你是否也经历过这样的崩溃瞬间——喜欢的旅行博主一口气发了 30 张绝美照片,你一张张右键另存为,半小时过去手都酸了,才存到一半?我就这么干过,直到遇见了 weiboPicDownloader:一个用 Python 写成的微博图片批量下载命令行工具,无需登录微博账号,一条命令就能把任意公开用户的历史微博图片全部拉回本地。
这篇文章会带你亲手跑通它,并解锁几个 90% 的人不知道的进阶玩法。
一、它凭什么让我放弃手动保存?
先看一张对比表,你就明白我为啥"真香"了:
| 对比维度 | 手动右键保存 | weiboPicDownloader |
|---|---|---|
| 单条微博 9 图 | 右键 9 次 | 自动全部抓取 |
| 历史 3000 条微博 | 基本不可能完成 | 自动翻页扫描 |
| 登录要求 | 部分场景需登录 | 完全免登录 |
| 多人批量 | 无 | -u一次传多个 |
| 视频 | 手动找链接 | -v一起下载 |
| 断网重试 | 重新来 | -r自动重试 |
它的原理并不神秘:公开用户的微博数据本就通过公开接口暴露,weiboPicDownloader 只是礼貌地去"翻相册",不破解、不越权,遵守微博使用条款。
二、三步跑通你的第一次下载
1. 装好环境,验证工具
仓库根目录只有 3 个文件:主程序weiboPicDownloader.py、中英文 README 和 LICENSE,名副其实的"单文件神器"。
git clone https://gitcode.com/gh_mirrors/we/weiboPicDownloader cd weiboPicDownloader pip install requests依赖装好后,运行python weiboPicDownloader.py -h,能看到完整参数说明,说明工具已就绪:
$ python weiboPicDownloader.py -h usage: weiboPicDownloader [-h] (-u user [user ...] | -f file [file ...]) [-d directory] [-s size] [-r retry] [-i interval] [-c cookie] [-b boundary] [-n name] [-v] [-o]2. 一条命令开始下载
python weiboPicDownloader.py -u 旅行摄影师小张工具会自动完成"昵称→用户 ID"的解析,然后翻页扫描该用户所有公开微博,提取每一条里的图片,用 20 线程的线程池并发下载,最终保存到默认目录./weiboPic/<昵称>/下。
3. 检查成果
去weiboPic文件夹看看,每张图片按"文件名_序号.jpg"自动命名,一个用户的图片整整齐齐躺在自己的子文件夹里,再也没有混乱的"图片(1)(2)(3)"了。
💡易踩坑提示:
-d指定的保存目录如果不存在,程序会弹出一个交互式确认[Y/n],在自动化脚本里容易卡死。建议先mkdir建好目录再运行。
三、这 4 个参数,新手最容易用错
-d:把图存到想存的地方
python weiboPicDownloader.py -u 用户名 -d ./food_images-s:线程数不是越大越好
python weiboPicDownloader.py -u 用户名 -s 10默认 20 个线程,网络差或频繁被限速时降到 5;反之高速网络可以拉到 20 以上,但别贪心,过大反而容易被微博反爬机制盯上。
-i:请求间隔,你的"礼貌开关"
python weiboPicDownloader.py -u 用户名 -s 5 -i 2 -r 5-i 2表示翻页请求间隔 2 秒,-r 5是失败重试 5 次。想温柔一点、稳一点,这个组合就是标准答案。
-b:只下某段时间的图
python weiboPicDownloader.py -u 用户名 -b "@20240101:@20240630"-b支持 mid/bid 或日期范围,日期用@前缀标记。做素材库按月份归档,全靠它。
🛡️避坑提醒:反爬是真实存在的。程序里对返回状态码 418 有专门提示
punished by anti-scraping mechanism。遇到这种提示,请立即调低-s、调大-i,歇一会儿再跑。
四、两个 80% 用户没用过的进阶玩法
玩法一:文件批量导入,一次下载一整个列表
建一个users.txt,每行一个昵称或数字 ID:
摄影博主小明 旅行达人小红 2803301701然后:
python weiboPicDownloader.py -f users.txt几十个博主一键全搞定。强烈建议优先用数字 ID——昵称会因改名失效,而数字 ID 永不变。
玩法二:自定义命名,让文件名会说话
-n参数支持url、index、type、mid、bid、date、text、name等变量:
python weiboPicDownloader.py -u 用户名 -n "{date:%Y%m%d}_{index}_{name}"比如一条 6 月 1 日发的第 3 张图,会存成20240601_3_0073q6Ubly1hx1a2b3c4d5j.jpg,一眼就能看出拍摄时间。注意:不同系统对文件名里的\/:*?"<>|字符有限制,程序会自动把它们替换成全角字符,这个细节很贴心。
💡进阶技巧:配合
-b "@20240101:"(只取 2024 年之后的微博),再叠加自定义命名,你可以轻松做出"按时间归档的博主图片库",拿来当素材库效率极高。
五、翻车现场:3 个真实报错及解法
报错 1:invalid account 用户名
- 原因:昵称解析失败。昵称改了、账号注销,或者当前网络无法访问微博移动端接口(比如数据中心 IP 被限流,返回 432)。
- 解决:换成数字 ID 再试;若仍失败,换个网络环境(家庭宽带通常比机房 IP 稳)。
报错 2:卡在directory "..." doesn't exist, help to create?
- 原因:
-d的目录不存在,程序在等你输入 Y/n,脚本环境下会直接 EOF 退出。 - 解决:提前
mkdir -p目标目录,或直接接受默认的./weiboPic。
报错 3:punished by anti-scraping mechanism
- 原因:请求太频繁触发了反爬(HTTP 418)。
- 解决:
-s 5 -i 2降速,暂停几分钟再继续。
⚠️诚实说明:我在这台测试机上多次实测,因机房 IP 被微博限流(返回 432),无法完成真实下载,上述报错均来自真实运行日志。工具本身工作正常,请在你的正常网络环境下体验。另外它不下载私密微博,也不破解任何加密内容,请只用于备份公开内容。
结语
从一张张右键,到一条命令搞定全部,weiboPicDownloader 把"收集图片"这件琐事压缩进了几秒钟。现在,打开终端,克隆、安装、跑起你的第一条命令吧——你与"图片自由"之间,只差一次python weiboPicDownloader.py -u 你喜欢的博主的距离。🚀
【免费下载链接】weiboPicDownloaderDownload weibo images without logging-in项目地址: https://gitcode.com/gh_mirrors/we/weiboPicDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考