B站4K视频批量下载终极指南用bilibili-downloader把会员内容永久存进硬盘【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader上个月朋友阿哲在地铁里跟我吐槽他收藏的编程教程视频足有三十多集通勤路上想看却总被网络信号卡成幻灯片而真正让他难受的是另一件事——他是B站大会员遇到特别喜欢的4K视频想存下来慢慢看却发现这些高清内容只能在线播放出了B站就一无所有。我给他推荐了一个开源的Python工具bilibili-downloader。它专门解决B站视频下载的难题最吸引人的一点是支持下载大会员专属的4K画质连充电才能看的独家内容也能一并保存。这周他自己折腾完跑来跟我复盘了整个使用过程我觉得很值得写下来分享给更多人。为什么网上那些下载工具偏偏搞不定4K和充电内容在介绍工具之前先说说你可能会踩的坑。市面上打着B站下载器旗号的东西不少但大多只支持普通清晰度遇到大会员专属的1080P、4K画质就原形毕露。原因不复杂B站的高清视频流和普通画质走的是完全不同的接口需要携带你的登录凭证去换取播放地址而很多工具压根不处理这一层。bilibili-downloader 的解法很直接它把身份验证这一步做进了工具里。你只需要在配置文件中填入自己账号的Cookie——相当于把你的B站门票递给程序——它就能以你的身份去请求视频数据把会员权限内的最高画质全部拿到手。models/ 目录里那张清晰度对照表写得很清楚从流畅360P一路排到超清4K甚至包含了8K和杜比视界能拿到什么级别取决于你的账号权限和Cookie状态。一个视频在下载时到底发生了什么理解了这个工具为什么能下载4K你才会用得踏实。它的核心流程可以拆成三段每一段都有对应的源码目录支撑。第一步程序根据你给的链接自动判断视频类型。普通视频走 strategy/default.py番剧电影走 strategy/bangumi.py——它会在页面源码里找到window.__playinfo__这段数据里面藏着这个视频所有可用的清晰度链接。第二步你会发现一个细节B站的高清视频和音频是分开存储的视频流和音频流是两条独立的链接。所以程序会同时发起两个下载任务一边拉画面一边拉声音速度几乎翻倍。文件先落在临时目录里。第三步等两边都下载完成再用 ffmpeg 把画面和声音合并成一个完整的mp4文件移动到输出目录。如果你的电脑没装ffmpeg它也会自动改用 moviepy 完成合并不会卡住你。这是实际运行时你会看到的画面每个视频先显示清晰度然后音视频两条进度条并排推进最后自动合成并清理临时文件从拿到工具到第一次跑通只需要做三件事阿哲照着项目里的说明操作整个配置过程大概花了十分钟。他的做法是这样的先克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/bil/bilibili-downloader cd bilibili-downloader pip install -r requirements.txt然后打开 config.py 找到 COOKIE 那一行。获取自己Cookie的方式在浏览器里就能完成登录B站按F12打开开发者工具切到网络标签页刷新一下随便点开一个请求在请求头里就能找到一长串以SESSDATA开头的字段整段复制过来替换掉默认值即可。在浏览器开发者工具的网络面板里找到请求头中的Cookie字段把整段复制进配置文件最后把想下载的视频链接填进 config.py 的 URL 列表一行一个然后运行python main.py接下来就交给它了。控制台会依次显示每个视频的标题、当前可用的清晰度音视频两条进度条会告诉你实时速度和剩余时间。全部完成后还会打印一份下载摘要成功几个、失败几个、保存在哪里一目了然。中途一定会踩的坑我替你提前排掉阿哲第一次跑的时候差点在第一个视频上就翻车这里有几个细节值得你提前知道。Cookie不是永久的。它大约每30天失效一次过期后工具会提示权限不足或者干脆拿不到高清链接。这不是bug是B站的机制。我的做法是在手机日历里设了个每月提醒到点就重新复制一次。你可以在 config.py 里看到项目作者专门写了注释提醒需要定期(30天)替换。链接末尾的斜杠直接决定画质。这是阿哲偶然发现的有些视频链接是BVxxxxxx?p2这种格式没有斜杠B站会把请求重定向导致会员状态丢失最终只能拿到480P。项目在 strategy/bilibili_executor.py 里专门有一段_normalize_url的处理自动把链接规范成BVxxxxxx/?p2的格式来避免重定向。所以就算你手滑复制了不带斜杠的链接它也会帮你补救——但自己复制时养成带斜杠的习惯总归更稳妥。下载失败的链接它会帮你记住。如果某个视频因为网络波动没下完程序会自动重试五次实在失败会把链接写进一个 failed_urls.txt 文件下次直接复制回 URL 列表就能重跑不用自己记哪个没下完。进阶玩法把一整季课程批量搬回家如果你只下载单个视频其实用不上这个工具最值钱的能力。它真正的杀手锏是批量下载URL 列表里可以同时放几十个链接工具会限制并发数默认最多同时下载2个视频既保证了速度又不会把网络带宽和B站服务器逼得太紧。分P视频的处理也相当聪明。像那种动辄三四十集的系列教程你只需要把每集的链接按?p1、?p2、?p3的格式依次填进列表它会自动给每个分P的文件名加上_P1、_P2这样的后缀保证互不覆盖。阿哲就是这么把一整季课程拖回硬盘的——晚上睡觉前把链接填进去第二天早上醒来三十多个文件整整齐齐躺在 output 目录里文件名带清晰度标注直接就能塞进手机或NAS慢慢看。想自定义保存位置的话改 config.py 顶部的两个路径就行TEMP_PATH是下载过程中的临时目录OUTPUT_PATH是成品的存放位置。把它指到外接硬盘或NAS上等于给自己搭了个迷你版B站离线库。最后说点使用之前该想清楚的事工具本身是免费开源的项目还在持续更新作者在说明里也标注了番剧、电影的支持仍在测试阶段某些内容可能还需要大陆IP才能访问。但能力越大责任也越大——我建议把它用在个人学习和离线备份上比如下载自己买过会员的内容、收藏UP主的免费教程。下载下来的视频自己看没问题但别拿去二次传播或商用那是给创作者添堵也会让这类工具更容易被平台针对。把想看的4K视频存进自己的硬盘摆脱网络和会员期的限制这种感觉确实很爽。打开命令行把第一个链接填进 config.py你会很快体会到这种随时想看就看的自由。【免费下载链接】bilibili-downloaderB站视频下载支持下载大会员清晰度4K持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考