你是否遇到过这些烦恼?🚗 通勤路上想听UP主的深度内容却要消耗流量,收藏夹里的优质音频突然失效,会员专享内容无法离线保存。现在,一款名为BiliFM的开源工具彻底解决了这些问题,让你轻松拥有永久的音频图书馆。
痛点:为什么你需要BiliFM?
在信息爆炸的时代,优质音频内容稍纵即逝。传统获取方式存在诸多限制:
| 问题类型 | 传统方法 | BiliFM解决方案 |
|---|---|---|
| 单次获取 | 只能一个视频 | 支持UP主全集批量获取 |
| 音质限制 | 固定128k | 64k/132k/192k三档可选 |
| 内容管理 | 手动整理 | 自动分类保存 |
| 会员限制 | 无法获取专享内容 | 支持Cookie登录获取收藏夹 |
方案概述:BiliFM的核心优势
BiliFM(Bilibili Audio Fetcher and Manager)是一款专为B站音频获取设计的Python命令行工具,具有以下独特价值:
✨ 全平台支持:Windows、macOS、Linux完美运行 ✨ 批量处理:从单个视频到UP主全集一键搞定 ✨ 音质可选:根据需求选择不同音频质量 ✨ 开源免费:GPLv3协议保障,无任何隐藏费用
核心功能解析:五大获取模式详解
BV模式:精准获取单个视频
适用场景:获取特定视频的音频内容
# 获取指定BV号视频的音频
bilifm bv BV1k341187hC
# 指定保存目录和音质
bilifm bv BV1rS4y1Z7fX -o ~/Music/bilibili -q 64
技术亮点:自动过滤文件名中的特殊字符,支持多P视频分文件保存。
UID模式:一键获取UP主全集
适用场景:批量获取关注UP主的全部音频作品
# 获取UP主所有音频
bilifm uid 261485584 -o ~/Music/UP主合集
小贴士:UP主UID可在个人空间URL中找到,如
space.bilibili.com/261485584中的数字部分。
收藏夹模式:备份珍藏内容
适用场景:同步个人收藏的音频节目,防止内容下架
准备工作:
- 获取收藏夹media_id(收藏夹页面URL中
media_id=后的数字) - 导出B站Cookie并转换为JSON格式
bilifm fav 69361944 ./cookies.json -o ~/Music/收藏夹音频
合集模式:系统化专题获取
适用场景:获取课程、系列讲座等结构化内容
# 获取指定合集内容
bilifm season 23263470 1855309 -o ~/Music/编程课程
列表模式:灵活自定义序列
适用场景:获取UP主创建的非合集类视频列表
bilifm series 488978908 888434 -o ~/Music/每周推荐
实战指南:从安装到使用
环境准备与安装
确保Python 3.10+环境,推荐使用国内镜像加速安装:
# 检查Python版本
python --version
# 通过pip安装
pip install BiliFM --upgrade -i https://pypi.doubanio.com/simple/
# 或从源码安装
git clone https://gitcode.com/jingfelix/BiliFM
cd BiliFM
pip install -r requirements.txt
验证安装
安装完成后,通过以下命令验证:
bilifm --version
# 应输出类似:ppatch, version 0.2.6
音质参数选择指南
BiliFM提供三种音频质量选项,满足不同场景需求:
| 质量档位 | 码率 | 适用场景 | 每小时文件大小 |
|---|---|---|---|
| 64k | 64kbps | 网络较差环境 | ~28MB |
| 132k | 132kbps | 日常平衡选择 | ~59MB |
| 192k | 192kbps | 高质量聆听体验 | ~86MB |
高级技巧:定制化获取体验
自动化脚本配置
对于需要定期更新的内容,可以编写自动化脚本:
#!/bin/bash
# bilifm_update.sh - 自动更新脚本
LOG_DIR=~/bilifm_logs
mkdir -p $LOG_DIR
# 定时更新UP主内容
bilifm uid 261485584 -o ~/Music/UP主合集 >> $LOG_DIR/update_$(date +%Y%m%d).log 2>&1
设置定时任务:
chmod +x bilifm_update.sh
# 每周日凌晨3点自动执行
crontab -e
0 3 * * 0 ~/bilifm_update.sh
性能优化建议
大容量UP主处理:
- 使用
nohup后台运行:nohup bilifm uid 261485584 > get.log 2>&1 & - 程序自动跳过已存在文件,适合增量更新
- 建议网络稳定时进行批量获取
TUI界面预览
BiliFM还提供了实验性的终端用户界面,通过textual库实现可视化进度展示:
常见问题与解决方案
错误代码412:WBI签名失败
原因:B站API签名机制需要定期更新密钥 解决方法:
- 更新到最新版本:
pip install BiliFM --upgrade - 检查网络连接和系统时间
获取速度优化
提升方法:
- 选择网络空闲时段获取
- 确保存储设备有足够空间
- 使用稳定的网络连接
文件播放问题
排查步骤:
- 检查文件大小是否正常
- 尝试使用VLC等兼容性强的播放器
- 重新获取损坏的文件
未来展望:BiliFM的发展方向
BiliFM作为开源项目,将持续优化和完善:
🚀 功能增强:
- 增量更新检测机制
- 音频格式转换功能
- 弹幕文件获取支持
📈 用户体验:
- 完善TUI交互界面
- 添加获取队列管理
- 支持更多B站内容类型
开始使用
现在就通过以下命令开启你的B站音频收藏之旅:
# 安装最新版本
pip install BiliFM --upgrade
# 查看完整帮助文档
bilifm --help
BiliFM以其轻量、高效和灵活的特点,为你提供了从B站获取音频内容的完整解决方案。无论是日常通勤的音频陪伴,还是学习资料的离线保存,它都能完美满足你的需求。
使用提示:本工具仅用于个人学习和备份,请遵守B站用户协议,支持正版内容。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




