bilibili-downloader B站视频下载完整教程:大会员4K视频一键存入硬盘
【免费下载链接】bilibili-downloaderB站视频下载,支持下载大会员清晰度4K,持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader
bilibili-downloader 是一个直连 B 站官方接口下载大会员清晰度视频的 Python 命令行工具。填入 Cookie 和视频链接,执行一条命令,就能把 4K 视频完整保存为硬盘里的 MP4。它支持批量链接、分 P 指定集数、充电专属视频,内置断点续传与自动重试,全程本地运行,配置一次即可长期复用。
🚀 快速上手
装→配→跑,三步拿到第一个视频。
安装依赖
确认 Python 为 3.8 及以上版本,然后执行:
git clone https://gitcode.com/gh_mirrors/bil/bilibili-downloader cd bilibili-downloader pip install -r requirements.txt配置Cookie与下载链接
工具要以你的账号身份请求视频流,先填入登录后的 Cookie。打开 B 站视频页,按 F12 进入"网络"标签,刷新页面并点击第一条请求,在请求头中找到 cookie 字段,复制整段字符串替换 config.py 中的 COOKIE 值。
⚠️ Cookie 有效期约 30 天,过期后重复上面步骤更换即可,已下载的文件不受影响。
再在同一文件的 URL 列表里加入要下载的链接:
URL = [ 'https://www.bilibili.com/video/BV1M4411c7P4', # 普通视频 'https://www.bilibili.com/video/BV1TnsZzHEcz/?p=2', # 分P视频,取第2P ]执行下载
python main.py程序先打印任务配置,随后逐条下载,成品默认落在 output/ 目录。
🎬 跑一遍看看
一次完整运行依次经过四个环节:任务概览、逐条下载、自动合并、清理与摘要。启动后首先打印:
============================================================ [下载配置] 待下载视频数量: 3 下载模式: 最多同时下载 2 个视频(每个视频内音视频并发) 输出目录: /path/to/bilibili-downloader/output ============================================================待下载几条链接、同时跑几个、成品存到哪里,一目了然。
随后每个视频打印标题和清晰度,视频、音频两条进度条并行推进:
[1] 视频标题_P1.mp4 清晰度: 高清 1080P 视频: 100%|████| 1.43G/1.43G [33:48<00:00, 707kB/s] 音频: 100%|████| 726M/726M [04:49<00:00, 2.51MB/s] [1] 下载完成 正在合并视频和音频... 视频合成完成两条进度条代表画面流和声音流同时落盘,下完自动合成一个 MP4。跑完打印摘要:成功与失败数量、总耗时、每个视频的保存路径,临时文件随后自动清掉。
核心能力
大会员4K与充电专属视频下载
解决什么:高画质和充电专属内容无法用常规手段保存。关键配置:只填 config.py 里的 COOKIE,充电视频再加链接即可。得到什么:程序自动挑账号当前能拿到的最高清晰度,最高到 4K;充电视频的音画本就合在一个文件里,直接下载,省去合并步骤。
批量下载分P视频的方法
解决什么:几十集的系列逐个保存太耗时。关键配置:URL 列表里每集一条链接,用 ?p=N 指定集数。得到什么:所有链接排队依次下载,文件名自动加 _P1、_P2 后缀,互不覆盖,一次配置跑完即得整套资源。
自定义输出目录与失败补救
解决什么:成品想放进移动硬盘或 NAS;个别失败不想拖垮整批任务。关键配置:config.py 中把 OUTPUT_PATH 改成目标路径。得到什么:视频自动归档到该位置;重试后仍失败的链接会写入根目录 failed_urls.txt,直接复制回 config.py 重跑即可。
它凭什么好用
先分拣,再处理
代码采用策略模式——给每种视频类型预先指定一条固定处理流程,像分拣货架:程序先读 URL,判断货物该走哪个格子。普通视频走默认流程,番剧走专门流程;将来接入新类型只需加一个新格子,主流程不用动。相关实现集中在 strategy/ 目录。
两条管道同时流
B 站高清视频是 DASH 格式——画面和音频分成两个独立文件的格式,好比两条各自输水的管道。工具同时打开两个龙头并行下载,总耗时接近较慢那条管道,而不是两者相加。它还支持断点续传——能从停下的位置接着传的下载方式:用 Range 请求从已下载字节数处继续,中断后重跑即可接着来;遇到网络抖动,每个文件最多自动重试 5 次,间隔 5 秒。
合并留了两条路
合成时优先调用系统里的 ffmpeg——一款命令行视频处理工具,以流复制方式直接拼接,不重新计算画面,几乎不耗时;没装则自动换 moviepy 完成同样的事。两条路都通向同一个 MP4 成品。
出问题怎么查
问:下载后只有 480P,或提示权限不足? 答:多因 Cookie 过期或没填对。按"快速上手"第二步重新抓取 Cookie 替换后重跑。
问:提示"未找到视频数据"? 答:先确认是 /video/ 开头的普通视频链接,番剧链接走的是另一个入口;视频本身也可能已下架。
问:番剧、电影下载失败? 答:番剧支持仍在测试阶段,且需要中国大陆 IP,普通用户先用视频类链接。
问:运行时报 ModuleNotFoundError 或语法错误? 答:Python 需 3.8 及以上,并确认已执行 pip install -r requirements.txt。
问:下载到一半断了,要重新下载整个文件吗? 答:不用。重跑后从已下载的字节处继续;网络抖动时也会先自动重试 5 次再计入失败。
问:4K 视频把硬盘占满了? 答:单集几个 GB 属正常现象,批量下载前先查磁盘剩余空间;网速波动大就选低峰期运行。
写在最后
它适合三类人:想把 4K 教程变成本地资料的学习者、想整批备份 UP 主系列的深度用户,以及愿意花十分钟配置换取长期省事的普通观众。请仅用于个人观看与备份,尊重创作者劳动成果。
现在执行这条命令,十分钟拿到你的第一个本地视频:
git clone https://gitcode.com/gh_mirrors/bil/bilibili-downloader【免费下载链接】bilibili-downloaderB站视频下载,支持下载大会员清晰度4K,持续更新中项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考