news 2026/8/20 14:01:23

B站视频下载终极指南:免费开源工具一键保存4K大会员与充电专属视频

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
B站视频下载终极指南:免费开源工具一键保存4K大会员与充电专属视频

B站视频下载终极指南:免费开源工具一键保存4K大会员与充电专属视频

【免费下载链接】bilibili-downloaderB站视频下载,支持下载大会员清晰度4K,持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader

你是不是也有这样的经历:收藏夹里躺着一堆值得反复回看的教程,出差路上信号一差就只能对着转圈的画面干瞪眼;你充电支持了喜欢的UP主,对方放出的专属视频却只能在网页端播放,想离线保存却无从下手。bilibili-downloader就是为这类"看得见、存不下"的困境而生的——它是一款免费开源的 Python 命令行工具,专注 B 站视频下载,支持大会员 4K 清晰度与充电专属视频,适合想建立本地视频资源库的普通用户、学习党与内容创作者。读完这篇文章,你将完整跑通一次 B 站视频下载流程。

为什么你需要一个"看得见也存得下"的下载工具

在线播放永远受制于三个变量:网络、会员状态、平台规则。网课想看第二遍,只能反复拖动进度条;通勤路上想补番,信号稍差就卡成幻灯片;更别提那些随时可能因版权而下架的充电专属视频,错过一次,可能就再也找不到。

把视频存到本地,等于一次性买断"随时可看"的自由。bilibili-downloader 的出现,就是想把这件事变得像复制粘贴一样简单:你只管准备好账号信息和视频链接,剩下的解析、下载、合并,全交给工具自动完成。整个项目只有几个 Python 文件,结构清爽,没有任何花哨的界面,专注做好"下载"这一件事。

先弄懂原理:B站的高清视频是怎么"锁"住的

动手之前花两分钟理解机制,能省下后面不少排查时间。

B站的高清内容并不是"谁都能下"的公共资源,服务端会根据请求里携带的账号身份,决定放行到哪一档清晰度。直接复制网页里的视频地址去下载,等于以一个"匿名游客"的身份访问,拿到的往往只有模糊的 480P,大会员专属的 4K 更是直接提示无权限。

bilibili-downloader 的思路很直接:把 B 站账号的 Cookie 作为身份证明,注入到每一次请求里。服务端校验通过后,会返回当前账号最高可达的清晰度列表。项目的 models/video.py 里内置了完整的清晰度档位映射,从"流畅 360P"一路排到"超高清 8K",其中就包含大会员专属的超清 4K(120)、杜比视界 4K(126)。工具在解析时会自动从流列表里选取第一路,也就是质量最高的那一路——Cookie 配对了,4K 就只差一条命令的距离

第一步实战:三分钟配置账号Cookie

这是整个流程里唯一需要手动操作、也最容易出错的环节,其实全程不到三分钟。

在浏览器里找到你的"会员卡"

  1. 用 Chrome 或 Edge 登录 B 站,打开任意一个视频页面;
  2. F12打开开发者工具,切到"网络"(Network)标签;
  3. Ctrl+R刷新页面,点击请求列表中的第一条;
  4. 在右侧"请求标头"里找到Cookie字段,整行复制。

下面这张仓库官方截图演示的正是这个操作,跟着红框标注的位置走即可:

粘贴进配置文件

打开项目根目录下的 config.py,找到COOKIE = '...'这一行,把你复制的整串 Cookie 粘到引号内替换掉旧值,保存即可。注意不要把引号删掉,也不要粘贴成两行

这里有两个必须牢记的提醒:

  • Cookie 有保质期:其中的SESSDATA大约 30 天失效,届时要重新走一遍上面的流程替换,这也是 config.py 注释里特意标注"定期更换"的原因;
  • Cookie 就是你的账号钥匙:拿到它等于拿到账号的部分操作权限,建议只在本机使用,切勿随意分享给他人。

第二步实战:把想下载的视频链接填进列表

打开 config.py,你会看到一个URL列表,里面用引号包着一条条视频链接。想下载什么,就把链接按行填进去,格式如下:

URL = [ # 普通视频 'https://www.bilibili.com/video/BV1M4411c7P4', # 分P视频,只取第2集 'https://www.bilibili.com/video/BV1TnsZzHEcz?p=2', # 充电专属视频 'https://www.bilibili.com/video/BV12gYxz7ESf', ]

三个值得记住的细节:

  • 分P用?p=参数:想下第几集就写?p=几,不写则默认第 1 集;
  • 链接可以混着填:普通视频、分P、充电专属视频可以出现在同一个列表里,程序会自动识别链接类型,调用不同的下载策略,你完全不用操心分类;
  • 一次列清所有分P:比如某充电合集有 6 集,就把p=1p=6六条链接都填进去,一次跑完,中途不用再动手。

第三步实战:一条命令启动批量下载

配置完成,进入项目根目录执行两条命令:

pip install -r requirements.txt python main.py

第一行安装全部依赖,第二行启动下载程序。

运行后,主程序 main.py 会先打印一份下载配置清单——待下载数量、并发模式、输出目录一目了然,让你在动手前就对整个任务心里有数。随后你会看到tqdm进度条实时滚动,视频与音频并行下载,完成后自动合并。下面这张动图展示了终端里的完整运行过程:

全部跑完后,程序还会输出一份摘要:成功几个、失败几个、总耗时多少,甚至把失败的链接自动导出到项目根目录的failed_urls.txt里,供你下次直接复制重试。

下载完成的视频统一落在项目的output目录,临时文件会被自动清理,目录始终干净整洁。一次配置,之后每次只需要往URL列表里加链接,就能持续收获本地视频库

藏在代码里的三个可靠设计

小工具能稳定跑下来,靠的是 strategy/bilibili_executor.py 里几个不起眼却关键的工程细节。

断点续传与自动重试

下载超过 1GB 的大文件时,断网几乎是必然事件。工具做了两层保险:一是利用 HTTP 的Range请求头实现断点续传——文件已存在多少字节,就接着从那个位置继续下,绝不推倒重来;二是单次失败后自动重试最多 5 次,每次间隔 5 秒,临时性的网络抖动基本能自己扛过去。

音视频并发下载与无损合并

B 站高清视频的流媒体是音画分离的(视频流 + 音频流分开传输),这也是很多"一把梭"下载器下完没声音的根源。这个项目会把视频流与音频流同时并发下载,再用ffmpeg无损合并;如果机器上没有 ffmpeg,会自动降级为内置的 moviepy 合并方案,成片就是正常的有声 MP4。

URL规范化,守住高画质

如果你把BV号?p=2这种不带斜杠的链接直接填进去,B 站会返回一次重定向,而重定向可能丢失会员状态、把清晰度打回 480P。项目内置了 URL 规范化逻辑,自动把链接补全为带斜杠的形式(BV号/?p=2),保住本该属于你的高清晰度。这是个容易被忽略、却能直接决定画质的关键细节。

常见问题速查表

跑通之后如果遇到异常,对照下面这张表基本都能定位:

症状原因解法
一直报"无权限"或只出 480PCookie 过期或填错重新按第一步流程获取,替换 config.py 中的COOKIE
视频下载"成功"却打不开合并环节缺 ffmpeg安装 ffmpeg 后重跑,合并更快更稳
番剧下载失败并提示地区限制内容仅限中国大陆 IP确认使用中国大陆网络环境后再试
下载到一半卡住不动网络波动不用管,内置重试会自动续上下载

进阶玩法:番剧、电影与你的个人视频库

普通视频之外,bilibili-downloader 还预留了番剧与电影的支持。项目采用策略模式,在 strategy/ 目录下同时维护了普通视频策略(default.py)与番剧策略(bangumi.py),程序会根据 URL 自动判断走哪条路径。像https://www.bilibili.com/bangumi/play/ss39429这样的链接可以直接填入URL列表。唯一的硬性条件是番剧电影需要中国大陆 IP——如果你在海外,这类内容会因地区限制而下载失败,代码里也做了明确的地区限制检测与友好提示。

跑通一次之后,你还可以试试这些延伸方向:

  • ?p=参数批量抓取某个 UP 主整个充电系列的全部集数,攒成一套完整课程;
  • output目录接入网盘或 NAS,搭建跨设备的个人视频库;
  • 翻阅 strategy/ 下的源码,理解策略模式如何工作,未来自己动手扩展新的下载类型。

现在,整个闭环已经在你手里了:拿到 Cookie → 填进 config.py → 把链接写进URL列表 → 跑python main.py→ 去output目录收货。大会员 4K、充电专属、分P 合集、批量任务,这些场景你都能独立搞定。打开配置文件,把第一条你想永久保存的视频链接填进去吧——工具的价值,只有在你真正跑通一次之后才会显现。

【免费下载链接】bilibili-downloaderB站视频下载,支持下载大会员清晰度4K,持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 14:01:21

华为认证高频易错题库解析:攻克IP计算、网络设备与协议核心难点

这次我们来看一套华为认证的高频常考易错题库,重点聚焦在IP地址计算、三大网络设备和核心协议概念这几个让无数考生头疼的“硬骨头”上。无论是备考HCIA、HCIP还是HCIE-Datacom,这些知识点都是绕不开的基础,也是考试中失分的重灾区。很多朋友…

作者头像 李华
网站建设 2026/8/20 14:00:28

Python实现LSTM时间序列预测教程

要说这简介, 它详细地介绍了长短期记忆网络用于时间序列预测中, 专门是在预测短时的客流量以及车流量这种串行的数据上所涉的应用情况的范畴里 , 又借助阐释结构的基本情况跟工作的原理, 去就怎样构建、训练甚至优化长短期记忆网络模型, 从而提升时间序列预测期间的准确程度方面…

作者头像 李华
网站建设 2026/8/20 13:58:35

电视浏览器(CCTV_Viewer):观看央视卫视直播的安卓 TV 盒子

电视浏览器(CCTV_Viewer):观看央视卫视直播的安卓 TV 盒子一款观看央视卫视电视直播的安卓 TV 盒子,本质上是浏览器,内置央视频和 CCTV 网页版直播,稳定流畅无广告。📖 背景说明 电视浏览器&…

作者头像 李华
网站建设 2026/8/20 13:58:07

Go源码分析:Mutex与读写锁实现

Go源码分析:Mutex与读写锁实现摘要: 本篇深入Go Mutex源码,解析正常模式与饥饿模式切换、自旋锁优化、读写锁优先级反转处理、信号量底层依赖,分享Mutex拷贝使用导致死锁的踩坑经验,对比Go Mutex、Java ReentrantLock、Rust Mutex的实现差异。…

作者头像 李华