纯 Python 标准库实现的微博媒体批量下载器,内置本地 Web 界面。扫描指定用户的全部微博,批量下载图片与视频,支持断点续传与增量更新。
零依赖:无需
pip install任何东西,装好 Python 双击即用。
- 零依赖:只用 Python 标准库(3.9+),不装任何第三方包
- 本地 Web 界面:缩略图预览、拖拽批量勾选、按微博分组、分页加载
- 图片多尺寸:original / large / mw2000 / mw690 / bmiddle / thumbnail
- 视频多清晰度:自动解析 4K / 2K / 1080p / 720p / 480p,可只取最高清晰度或限制 1080p
- 断点续传:
.part临时文件 + Range 校验,中断后从断点继续 - 增量扫描:记录游标,只抓新微博;也可全量重扫
- 状态持久化:SQLite 记录任务进度,重启软件接着下
- 失败重试:视频签名地址过期自动刷新后重试
- 文件名模板:
{seq}{mid}{ref_id}{quality}{text}等占位符自由组合
-
安装 Python 3.9+(安装时勾选 Add to PATH)
-
双击
start_web.bat,或在项目目录运行:python weibo_web_ui.py
-
浏览器自动打开
http://127.0.0.1:<端口>(服务只监听本机)
- 输入微博 UID 或个人主页链接(如
https://weibo.com/u/1234567890) - 如遇登录限制,粘贴 m.weibo.cn 的 Cookie(见下文)
- 选择媒体类型 / 图片尺寸 / 视频清晰度 → 点击扫描
- 在预览区勾选想要的内容(支持拖拽框选),或直接下载全部未完成任务
- 下载进度与日志实时显示,可随时暂停 / 停止
- 浏览器登录 m.weibo.cn
- 按
F12打开开发者工具 → Network(网络) 标签 - 刷新页面,点击任意一个请求 → Request Headers(请求标头)
- 复制
Cookie:后面的整串内容,粘贴到工具的 Cookie 输入框
Cookie 默认只在使用期间保留在内存中;勾选「记住 Cookie」才会写入浏览器本地存储。
提示「微博要求登录」或接口返回 432? Cookie 过期或未填写。重新复制一次登录后的 Cookie 即可。
视频下载失败或清晰度不对? 视频清晰度解析走 weibo.com 接口,需要有效的登录 Cookie。视频地址有时效,重新扫描可刷新签名。
下载到一半中断了? 再次点击下载即可:已完成的自动跳过,未完成的从断点继续。
扫描很慢? 微博每页约 20 条,长账号首次全量扫描需要几分钟;之后的增量扫描只抓新内容。视频清晰度解析每条间隔 0.25 秒以避免触发风控。
下载内容位于 downloads/<uid>/(images/、videos/),任务状态存放在同目录的 state_v2.db。首次使用新版本会自动从旧版 state.db 导入任务与游标,旧数据库不会删除或修改。
本项目仅供个人学习与数据备份使用。请遵守微博用户协议及所在地区法律法规,尊重原作者版权,勿用于商业用途或大规模抓取。使用本项目产生的任何后果由使用者自行承担。