Skip to main content

Download Bilibili videos as audios.

Project description

BiliFM Logo

BiliFM

PyPI PyPI - Python Version PyPI - License PDM-managed GitCode-managed
📻 Best BiliBili Audio Downloader

👋 Intro

An script to download all audios of the Bilibili uploader you love.
轻松下载指定up主全部或指定的视频音频。

📦 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 的获取:

media_id

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.10 以下版本
  • 接口简洁方便调用

@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 的赞助:

JetBrains Logo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bilifm-0.2.7.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bilifm-0.2.7-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file bilifm-0.2.7.tar.gz.

File metadata

  • Download URL: bilifm-0.2.7.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.4 CPython/3.14.2 Linux/6.11.0-1018-azure

File hashes

Hashes for bilifm-0.2.7.tar.gz
Algorithm Hash digest
SHA256 0da7b1571b21e149238ac1cbb18386ebe027d7a13bf2724b35d28a8616616214
MD5 23b5bbe3a1d3ac8cab62cd7e99db1aa0
BLAKE2b-256 c6ea296b0c85295ec317ac1f66540d50fe6caf56aa882e269ef834eac1c27fa6

See more details on using hashes here.

File details

Details for the file bilifm-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: bilifm-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.4 CPython/3.14.2 Linux/6.11.0-1018-azure

File hashes

Hashes for bilifm-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 abd87da1b2e5fc95d168042f852364d01ac6a700aaa97733c19f7cec101cfd88
MD5 8489eea7424b41b16e6e3fbfdc86e981
BLAKE2b-256 7f3219cbea753da8cca8aecc58232e29a2f12099845823714acfa6f5bf02eb40

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page