一个可分发的 Windows 单文件 exe(GUI),用于批量下载 B 站早期失效视频的 新浪(sinacloud)补档源,自动保留完整元数据,并可无损转封装为 mp4。
- 输入解析:av 号 / BV 号(内置纯算法互转)/ 完整链接 / b23.tv 短链,支持多行批量;也可从 .txt 文件导入(每行一条)
- 仅扫描(预下载元数据):切到「仅扫描」模式只查询源并保存信息文档、不下载, 适合批量摸底(100 个链接约 5~30 分钟,受 biliplus 限流影响,串行自适应节流)
- 复用已存文档:信息文档已存在时(扫描过/下载过)自动读本地,跳过 biliplus 查询
- 元数据保留:下载文件命名为
AV330424 - 【洛天依】【百合治愈向】外婆桥, 并为一个视频生成一份同名.txt信息文档(分区/UP主UID/播放·弹幕·硬币·收藏/ 投稿时间/简介/Tag/各分P的 CID 与源 VID),与 biliplus 详情页对齐 - 结果导出 CSV:下载/扫描两种模式均可导出 UTF-8 BOM CSV(Excel/WPS 直接打开), 含源标签、源详情(VID)、失败原因等列,便于筛选管理链接状态
- 断点续传:CDN 支持 Range,中断后可继续
- 无损转 mp4 / 改 .flv:默认勾选「下载后改 .flv」(hlv 即 FLV 容器,直接改
扩展名即可被播放器识别,无需转码);如需保留可无损 remux 的 mp4,勾选「下载后
转 mp4」用内置 ffmpeg 执行
-c copy,hlv 与 mp4 同时保留 - 下载封面:默认勾选,通过 B 站分享接口获取封面大图,按实际格式存为
视频名.封面.jpg/png/...(与视频文件同名前缀),与 hlv/mp4/txt 一并归档到 「视频名」子文件夹;封面获取失败不影响主下载流程 - 完成标记(对接自动上传):整部视频「所有分P 均成功」后,会在视频子文件夹
写入一个空标记文件
.finish.done;任意分P 失败则绝不写此标记,且会清理 残留标记。第三方上传工具只需处理「含.finish.done的文件夹」即可,避免 分P不全(如 10P 只下 8P)被误判为完整而传走 - 队列完成自动导出 CSV:下载队列全部处理完毕后自动导出结果(无需手动点
「导出CSV」),文件落在
<下载目录>/csv_exports/,命名带时间戳download_YYYYMMDD_HHMMSS.csv,每次完成一份独立结果、不覆盖历史,便于按批次 追溯。扫描模式仍用手动「导出CSV…」按钮 - 文件归档:同一视频的 hlv / mp4 / 封面 / txt 归拢到「视频名」子文件夹,目录整洁
- 批量队列:多任务排队执行,进度/暂停/继续/日志一应俱全
针对失效视频,本工具自动完成以下链路(已实测 av330424 / av39290):
输入链接/av号
└─ 提取 av 号(支持 av / BV / b23.tv 短链)
└─ 抓取 biliplus CID 历史页,提取签名接口地址
└─ 调用 view_all 接口,得到源 VID + 完整元数据
└─ 写信息文档 .txt(预下载)
├─ 仅扫描模式:到此为止,可导出 CSV 管理状态
└─ 下载模式:下载 {vid}.hlv(断点续传)-> 可选无损转 mp4
->(默认)下载封面
└─ hlv/mp4/封面/txt 归拢到「视频名」子文件夹
关键点:view_all(CID 历史)返回 data.parts[],其中 type == "sina"
的条目带有新浪视频编号 VID,即下载地址的后缀;info 内含全部页面元数据。
若无新浪源但存在其它源(如 link/优酷/腾讯/NICONICO),扫描结果会如实标注
源标签与 VID(例如 视频源:link VID:sm13214943),便于判断是否值得补档。
- 运行
B站失效视频补档下载.exe - 粘贴链接或 av/BV 号(支持多行批量,或用「导入文件…」读 .txt)
- 选择模式后点「解析并加入队列」→「开始」:
- 下载:查询 → 下载 hlv →(勾选时)转 mp4,产物归档到「视频名」子文件夹
- 仅扫描:只查询并保存信息文档,不下载;勾选「重新扫描已有文档」可强制刷新
- 处理完成后点「导出CSV…」:下载模式导出
download_results.csv, 仅扫描模式导出scan_results.csv,均可用 Excel/WPS 打开筛选管理
支持输入:av330424、330424、BV1sx411F7Qa、
https://www.bilibili.com/video/av330424、https://b23.tv/xxxx
ffmpeg 已内置;若想使用其他版本,把 ffmpeg.exe 放到 exe 同目录即可覆盖。
默认指令:-c copy -movflags +faststart
# 安装依赖(requests;打包才需要 pyinstaller、imageio-ffmpeg)
pip install -r requirements.txt
# 运行测试(默认跳过网络用例)
pytest
# 运行网络集成测试(真实下载 35MB,慢,勿短超时)
pytest -m network
# 打包(内置 ffmpeg,产物约 105MB 单文件 exe)
build.bat在 exe 同目录放置 config.json 可覆盖默认站点配置(第三方站点可能变动):
{
"base_url": "https://www.biliplus.com",
"cdn_url": "https://cdn.sinacloud.net/edge.v.iask.com",
"timeout": 30
}本工具仅用于个人备份已失效视频之目的,依赖第三方站点 biliplus.com 的 公开数据,该站点可能随时变更或关闭;请勿滥用。