最近我用 Python 从零手搓了一款 B 站视频下载器,专门用于下载学习类视频,全程无广告、无商用,仅作个人学习与技术交流。现在我把它的每一个功能都拆解清楚,让大家一看就懂,也欢迎一起研究改进。
这款工具从诞生之初就围绕"学习场景"设计,为学习而生,拒绝冗余。
一、核心界面布局:清晰直观,上手即会
从截图可以看到,整个界面分为三大核心区域,逻辑清晰,没有冗余设计:
顶部菜单栏文件:可进行项目管理、导出配置等操作。工具:集成了一些辅助功能,如批量任务管理、格式转换等。主题:支持切换深色(dark)模式,深夜学习时更护眼,截图中已切换为深色主题,视觉体验更舒适。帮助:包含使用说明、常见问题解答,方便新手快速上手。
左侧操作区(核心功能区)这是整个工具的"大脑",所有下载操作都在这里完成,分为四个模块:视频链接模块:输入 / 粘贴 B 站链接,支持 BV 号、av 号、完整链接。解析模块:一键解析视频,自动列出所有剧集。下载设置模块:自定义画质、保存路径。下载控制与日志模块:控制下载启停、查看进度,同时记录程序运行状态。
右侧视频列表区解析完成后,所有剧集都会在这里展示,支持全不选 、单集下载。
二、逐功能详解:每一步都为学习场景设计
这款工具从诞生之初就围绕"学习场景"设计,每个功能都经过精心打磨,让学习下载变得简单高效。
1. 视频链接输入:智能识别,一键粘贴输入框提示:明确标注"粘贴 B 站视频链接(支持 BV 号、av 号、完整链接)",兼容多种链接格式,无需手动转换。粘贴按钮:点击后自动读取剪贴板中的链接,直接填入输入框,避免手动输入出错,效率拉满。
2. 视频解析:一键拆解,全剧集自动列出解析视频按钮:点击后,工具会自动向 B 站服务器请求视频信息,无论视频有多少集(哪怕是上百集的系列课程),都能一次性解析完成。等待提示:解析过程中显示"等待解析视频...",让用户清晰知道当前状态。全不选按钮:解析完成后,默认全选所有剧集。如果只想下载部分内容,点击"全不选"即可取消所有勾选,再精准选择需要的集数。
3. 下载设置:自由定制,满足不同需求视频质量选择:下拉菜单中可选择多种清晰度(截图中显示为 1080P),从低清到高清全覆盖。高清画质适合大屏学习,低清则能节省存储空间,按需选择即可。保存路径设置:默认路径清晰显示(如截图中的/home/dgg/视频/B站下载),方便用户快速确认。浏览按钮:点击后可打开文件管理器,自由选择保存位置,便于分类整理学习资料。
4. 下载控制:灵活启停,全程可控开始下载(蓝色按钮):所有设置完成后,点击即可启动下载,工具会全速跑满带宽,无任何限速。停止(粉色按钮):下载过程中可随时暂停,支持断点续传,下次打开可继续下载,无需从头开始。打开文件夹:点击后直接跳转到视频保存目录,再也不用担心"下载完找不到文件"的问题。
5. 下载进度与日志:透明化操作,问题一目了然进度条:实时显示当前下载进度(截图中为 0%),下方标注"总进度",让用户清晰掌握下载状态。操作日志:底部区域实时记录程序运行信息(如截图中的[2026-02-27 06:27:08] [INFO] 已切换为dark主题),不仅能看到操作历史,还能在出现问题时快速定位原因。
6. 右侧视频列表:精准选择,单集也能快速下批量选择:解析完成后,所有剧集以列表形式展示,默认全选,适合下载整套课程。单集下载:每一集后面都有独立的"下载"按钮,可直接点击下载单集,特别适合补看某一节课或筛选重点内容。状态提示:未解析时显示"请先解析视频",引导用户按流程操作,避免误操作。
三、设计理念:为学习而生,拒绝冗余
这款工具从诞生之初就围绕"学习场景"设计,致力于为学习者提供最纯粹、最高效的下载体验。
无广告、无弹窗:专注下载,不被打扰。
无限速:解除所有限速限制,下载速度完全取决于你的宽带带宽。
开源可改:完整 Python 源代码开放,大家可以根据自己的需求修改功能,也欢迎提交改进意见。
⚠️ 重要提醒:本工具仅用于个人学习与技术交流,请勿用于任何商业用途或侵犯他人版权的行为。请遵守 B 站用户协议,合法使用网络资源。
如果你对这个手搓下载器感兴趣,欢迎在评论区交流,我会把完整 Python 源代码分享给大家,一起聊聊从零开发软件的历程和喜悦。
技术分享 | 开源项目 | 学习工具
2026年2月27日