资讯中心

B站4K大会员视频怎么离线看?一个脚本就够了

📅 2026/8/18 21:11:13
B站4K大会员视频怎么离线看?一个脚本就够了
B站4K大会员视频怎么离线看一个脚本就够了【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader折腾了一晚上我终于把 B 站大会员专属的 4K 视频和充电专属内容全都拉回了本地。用的就是开源的 bilibili-downloader——一个纯 Python 写的 B 站视频下载工具从普通投稿到大会员 4K、再到充电专属视频都能下。从装环境到跑通全流程我大概花了半小时这篇就把我踩过的坑和看到的惊喜全写给你。我为什么非要折腾这件事我是个把 B 站当第二课堂的人通勤补课、睡前看番攒了一堆想留档的内容。可现实总跟我对着干大会员 4K 画质只能在站内看想缓存到手机得先忍受客户端那套谜一样的存储路径有些教学视频要剪进自己的笔记里不下载到本地根本没法动手充电专属视频是花了钱的万一哪天作者删稿或下架钱不就打水漂了说白了我需要一个把在线内容变成本地文件的稳定通道。之前试过几个在线解析站不是要充值就是隔三差五失效气得我最后决定自己动手。环境准备就两条命令别怕项目要求 Python 3.8 以上一般机器都满足。拉代码装依赖git clone https://gitcode.com/gh_mirrors/bil/bilibili-downloader cd bilibili-downloader pip install -r requirements.txt依赖一共四个各管一摊httpx 负责发异步请求beautifulsoup4 解析页面moviepy 兜底合并音视频tqdm 画进度条。都是常见库不会装卡壳。顺带提一句机器上要是有 ffmpeg合并视频时会优先走 ffmpeg速度飞快没有也没关系工具会自动退回 moviepy 方案不影响使用。让工具认出你的会员身份就三步普通视频不配 Cookie 也能下但想拿 4K、拿充电专属内容就必须让工具认识你的账号。方法是在 config.py 里填一段登录后的 Cookie实操就三步浏览器登录 B 站随便打开一个视频页按 F12 打开开发者工具切到网络标签刷新页面点第一个请求在请求头里找到 Cookie 整段复制然后把整串 Cookie 粘到 config.py 的COOKIE变量里就行。注意其中关键的SESSDATA大概 30 天过期过期了重新复制一遍即可不用改别的——文件注释里也写了定期更换COOKIE的值即可。想下哪些视频写进 URL 列表就完事下载清单同样在 config.py 里维护一个URL列表搞定。支持好几种写法URL [ # 普通视频 https://www.bilibili.com/video/BV1xx123456, # 分P视频指定下载第2集 https://www.bilibili.com/video/BV1xx654321?p2, # 充电专属视频 https://www.bilibili.com/video/BV1xx789012, ]多个链接一行一个排好序就一起下。我当时把一部课程的十几个分 P 全列进去一次任务全部解决。敲下回车之后终端里发生了什么配置写完直接运行python main.py终端会先打印本次任务的概况——待下载数量、并发模式、输出目录然后开始逐条下载。最让我意外的是几个细节视频和音频是分开并发下载的一条进度条走音频一条走视频比串着下快太多每个文件都有独立进度条速度、剩余大小一目了然下载完自动合并音视频、自动清理临时文件最后给一份完整摘要摘要会把成功、失败都列清楚失败的还会把 URL 写进failed_urls.txt复制回去就能重试不用对着屏幕抄地址。就冲这点作者是真懂用户。这个坑不填新手必踩URL 重定向丢清晰度我翻 strategy/bilibili_executor.py 源码时看到一段注释写得明明白白问题BV15FK6zTEuj?p2会被重定向导致丢失会员状态返回 480P 解决规范化为BV15FK6zTEuj/?p2避免重定向获取 1080P什么意思B 站会把不带斜杠的BV号?p2这类链接先重定向一次这一跳就把你的登录状态丢了画质直接掉到 480P。工具在解析前会自动用正则把链接规范成带斜杠的格式保住 1080P 甚至更高清晰度。这个坑如果不处理新手大概率得对着 480P 的成品欲哭无泪。断点续传下到一半断网也不用从头再来另一个让我很踏实的细节是断点续传。看_download方法的实现每次下载前先检查本地文件大小然后带Range: bytes文件大小-的请求头续传如果服务端返回 416 就说明已经下完了。对动辄几个 G 的大文件来说这功能太救命了——我下载时中途断了两次网重跑后直接接着下一次都没浪费。而且下载失败会自动重试默认 5 次、间隔 5 秒配合递增等待时间的页面请求重试整套容错做得很稳。代码结构想二次开发路子很清晰如果以后想自己改改这个项目的组织也相当规整models/视频、分类数据模型清晰度 ID 和中文名的映射就在 models/video.pystrategy/下载策略普通视频走DefaultStrategy番剧走BangumiStrategyBilibiliExecutor负责按 URL 自动分派config.py所有配置集中一处main.py入口编排解析→下载→合并→清理→汇总整个流程我最喜欢的是策略模式的设计——想支持新的视频类型写一个新策略类挂上去就行加代码而不是改代码。对我这种爱折腾的人来说这比一坨if-else友好太多了。写在最后把 B 站大会员 4K 视频下载到本地这件事bilibili-downloader 把门槛降到了会复制粘贴就行。它帮我解决的不只是离线观看的问题更是让优质内容真正归自己所有——想怎么剪、怎么存、怎么回顾都由我说了算。如果你也在为网络卡顿、视频下架、素材难保存这些事头疼不妨花半小时试试这个工具。自己动手存下来的每一份内容都是你个人知识库的一块砖攒着攒着就成了一面墙。【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考