Download Bilibili videos as audios.
Project description
👋 Intro
An script to download all audios of the Bilibili uploader you love.
轻松下载指定up主全部或指定的视频音频。
-
基于 bilibiliAudioDownloader 制作,添加了指定up主和单个音频的功能,完善了命令行参数。 -
新版本中已对代码进行了重构,不使用原 bilibiliAudioDownloader 中的代码。保留原有功能的同时,方便适配新的API。
-
参照 bilibili-API-Collection 的文档修复了 412 报错问题。
📦 Install
pip install BiliFM --upgrade
或在本地使用并安装依赖
pip install -r requirements.txt
🔨 Usage
使用实例:
uid 模式
bilifm uid 261485584
uid = "261485584" # uid 为 UP 主的 uid
bv 模式
Note
bv 模式现已支持多 P 下载,使用方式和普通 bv 模式相同
同理,其他模式的下载也支持分 P 视频
bilifm bv BV1k341187
bvid = "BV1k341187" # bvid 是要下载的音频的视频 bv 号
fav 模式
bilifm fav 69361944 cookies.json
media_id = "69361954" # media_id 是收藏夹的 media_id,注意不要和 uid/fid 弄混
cookies_path = "cookies.json" # cookies 是保存 cookies 的文件路径,注意需要转换为 json
media_id 的获取:
cookies 的获取:
-
在开发者工具的控制台中输入
document.cookie
-
cookies 转换为 json:在线 cookies 转换
season 模式
下载视频合集
bilifm season $uid $sid [OPTIONS]
- uid, sid 的获取: 打开视频合集网页, 从 URL 中获取
https://space.bilibili.com/23263470/channel/collectiondetail?sid=1855309
例如上面链接, uid 为 23263470, sid 为 1855309 (目前 uid 可以随意填写)
bilifm season 23263470 1855309
- Options:
- -o, --directory 选择音频保存地址
series 模式
下载视频列表
bilifm series $uid $sid [OPTIONS]
- uid, sid 的获取: 打开用户空间中的合集和列表, 找到列表点击更多, 然后从URL中获取
https://space.bilibili.com/488978908/channel/seriesdetail?sid=888434
例如上面链接, uid 为 488978908, sid 为 888434. 使用下面命令
bilifm series 488978908 888434
- Options:
- -o, --directory 选择音频保存地址
📅 Features
-
python 版本限制未知- 在函数定义时使用了类型注解,故不建议使用 3.5 以下版本
-
接口简洁方便调用
@app.command()
def bv(bv: str):
audio = Audio(bv)
audio.download()
@app.command()
def uid(uid: str):
user = User(uid)
for video in user.videos:
bv = video["bvid"]
audio = Audio(bv)
audio.download()
typer.echo("Download complete")
⚠️ Issues
- 获取 UP 主视频列表时会出现 UnicodeDecodeError,
原因未知- 初步判断是网络不稳定所致,在稳定的网络环境下没有出现此问题
- 暂时采用 try-except 跳过这一过程
- 在使用前需关闭代理
🔖 Licence
bilibiliaudioDownloader 的作者没有选取许可证,暂时选择 MIT License- bilibiliAudioDownloader 的作者已添加 GPL-3.0 License,故本项目亦修改为 GPL-3.0
🙏 Thanks
感谢以下产品对 BiliFM 的赞助:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bilifm-0.2.5.tar.gz
.
File metadata
- Download URL: bilifm-0.2.5.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.19.3 CPython/3.10.12 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b469b02ae9eb3fe2ceb70629b8cff4bbed08ac8ff5dbbe58c0f91f88bb287f |
|
MD5 | 318207c465bea92058688103157f5475 |
|
BLAKE2b-256 | 5dfde28edf115495ddb9db0dfdacf43e9fb11a80a32a97e12f359012cca63f7f |
File details
Details for the file bilifm-0.2.5-py3-none-any.whl
.
File metadata
- Download URL: bilifm-0.2.5-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.19.3 CPython/3.10.12 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbd0893188255bad8abf794f7851afd881bf300593e3cac71cc71b4c164e01c2 |
|
MD5 | cd853b60a4f34925b43c4457bf67fdbb |
|
BLAKE2b-256 | 058ed7275471c2eda298d540d8af77f10aed4d829b51706340e8ee5e9b6baf4d |