
B站视频下载零基础完整指南四步把大会员4K视频离线缓存到本地【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloaderbilibili-downloader 是一个用 Python 编写的开源下载工具能把 B 站普通视频、大会员 4K 清晰度与充电专属视频完整下载到本地。对需要离线观看、二次剪辑或收藏备份的你来说收益很直接不联网也能看 4K内容永远留在自己的硬盘里。全文按新手最关心的 5 个问题展开全程不需要写一行业务代码。整条链路可以压缩成四步装依赖、配 Cookie、填链接、跑下载。下面按这个顺序展开并特意把最容易让人翻车的一个链接格式细节提前讲清楚避免你下载成功却发现画质不对还要回头排查。为什么要用本地开源工具而不是在线解析站下载B站视频结论先行在线解析站通常要注册充值、链接经常失效更重要的是拿不到账号专属的 4K 画质本地部署一个开源工具一次安装、长期免费画质上限由你的会员等级决定。操作演示仓库克隆到本地后装依赖两条命令搞定git clone https://gitcode.com/gh_mirrors/bil/bilibili-downloader cd bilibili-downloader pip install -r requirements.txt必要解释依赖只有 4 个——httpx 负责发网络请求beautifulsoup4 负责解析页面moviepy 负责合并音视频tqdm 负责画进度条。机器上装了 ffmpeg 会优先走 ffmpeg 合并速度更快没装也不影响工具会自动退回 moviepy 方案。Python 3.8 以上即可绝大多数环境都满足。过渡句依赖装好后第一道门槛是让工具认识你的账号这直接决定能不能解锁 4K。三步完成Cookie配置让工具认出你的大会员账号结论先行在 config.py 顶部的COOKIE变量里粘贴登录后的整段 Cookie可以理解成你在 B 站的登录凭证工具就会以你的账号身份去请求视频源。操作演示用浏览器登录 B 站打开任意视频页按 F12 打开开发者工具切到网络标签刷新页面点击第一个请求在请求头Request Headers里找到 Cookie整段复制进 config.py 的COOKIE ...必要解释普通视频不配 Cookie 也能下但大会员 4K、充电专属视频必须带身份才能拿到高清源。Cookie 里的SESSDATA大约 30 天过期到期后按同样步骤重新复制一次即可其他配置一概不用动。过渡句身份问题解决后接下来告诉程序具体下哪些。如何把普通视频、分P、充电专属链接写进配置文件结论先行所有待下载链接统一维护在 config.py 的URL列表里一行一个想批量下载就按顺序排好。操作演示URL [ # 普通视频 https://www.bilibili.com/video/BV1xx123456/?spm_id_from..., # 分P视频只下载第 2 集 https://www.bilibili.com/video/BV1xx654321/?p2spm_id_from..., # 充电专属视频 https://www.bilibili.com/video/BV1xx789012/?spm_id_from..., ]必要解释链接末尾的spm_id_from、vd_source这类统计参数可以原样保留不影响下载。分P用?pN指定集数想下整套课程就把各分P链接全部列进去一次任务全部解决。过渡句链接填完先别急着运行——有一个和链接格式有关的细节值得在跑之前就心里有数。画质为何悄悄掉到480P一个链接格式的坑提前讲清楚结论先行BV 号后面少一个斜杠B 站会把请求重定向导致登录状态丢失画质直接掉到 480P。这个坑用肉眼很难发现——下载是成功的只是清晰度悄悄缩了水。操作演示项目在 strategy/bilibili_executor.py 的_normalize_url()里专门处理了这件事把BV1xx654321?p2这类链接规范成BV1xx654321/?p2pattern r(/video/(?:BV[0-9A-Za-z]|av\d))(\?) replacement r\1/\2必要解释原理是 B 站对不带斜杠的链接会做 302 跳转跳转过程中 Cookie 没跟上服务端就把你当游客处理最高只给 480P。工具会在每次请求前自动规范化 URL所以你正常填链接不会踩到这个坑但理解它能帮你在排查画质问题时少走弯路。过渡句配置全部就位现在可以正式运行了。运行下载与断点续传中断后重跑不从头再来结论先行一条python main.py命令工具会自动完成抓取信息 → 并发下载 → 合并音视频 → 清理临时文件 → 输出摘要的全流程。操作演示python main.py启动后终端先打印任务概况待下载数量、并发模式、输出目录。随后每个视频有独立进度条速度和剩余大小实时可见。视频和音频是分开并发下载的多个任务同时进行比一条条串着下快不少下载完成自动合并最后给出成功/失败摘要失败的 URL 会写进 failed_urls.txt复制回去即可重试。必要解释断点续传的实现是把已下载文件的大小作为 Range 请求头续传中断后重跑会接着上次的位置继续而不是重头再来——对动辄几个 G 的大文件非常关键。合并阶段优先调 ffmpeg没有则用 moviepy 兜底出片结果一致。过渡句如果你只是下载视频到这里已经完全够用了想二次开发的话代码结构也值得扫一眼。想自己改models与strategy目录的设计一次看懂结论先行项目用策略模式区分视频类型把不同类型视频的处理逻辑拆成独立模块新增一种视频源只需加一个策略类不用改动已有下载逻辑。必要解释config.py 集中管理所有配置main.py 是入口负责编排整个流程models/ 定义视频、分类等数据模型strategy/ 下 default.py 处理普通视频bangumi.py 处理番剧目前标记为待测试且番剧下载需要中国大陆 IP留意项目更新。这种加代码而不是改代码的设计让扩展成本很低也是我推荐它作为学习样本的原因。过渡句最后做一个整体评估帮你判断要不要上手。写在最后四步链路回顾与你的下一步回顾这四步——装依赖、配 Cookie、填链接、跑下载——你会发现 bilibili-downloader 真正把 B站视频下载的门槛压到了会复制粘贴就行身份识别靠 Cookie批量下载靠 URL 列表可靠性靠断点续传与失败重试清单画质保护靠自动 URL 规范化。如果你常为视频下架了才想起来没存缓存目录里找不到文件这类事头疼或者需要把大会员 4K 视频离线缓存下来慢慢看、剪进自己的笔记花半小时跑通这条链路是值得的。工具选型的建议很简单高频、长期、对画质有要求的下载需求优先考虑本地开源方案偶尔一两次的临时需求才考虑在线服务。你更想先拿它下载哪一类内容——大会员 4K、充电专属视频还是一整套分P课程跑通之后欢迎回来交流你的下载配置。【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考