B站 音频提取

# pip install yt-dlp
import subprocess
import sys

def download_audio_from_bilibili(bv_id, output_format="mp3"):
    """
    使用 yt-dlp 从 Bilibili 提取音频。
    :param bv_id: Bilibili 视频的 BV 号,例如 "BV1X24y1y7ab"
    :param output_format: 提取音频格式,默认为 mp3
    :return: None
    """
    # 拼接成 Bilibili 视频链接
    bili_url = f"https://www.bilibili.com/video/{bv_id}"

    # yt-dlp 命令参数说明:
    #  -x / --extract-audio : 从视频中只提取音频
    #  --audio-format FORMAT : 指定音频格式(mp3, m4a, flac, wav 等)
    #  -o : 指定输出文件名或模板
    command = [
        "yt-dlp",
        "-x",
        "--audio-format", output_format,
        "--output", "%(title)s.%(ext)s",  # 这里可以自定义输出文件名
        bili_url
    ]

    try:
        print(f"开始从 {bili_url} 提取音频...")
        subprocess.run(command, check=True)
        print("音频提取完成!")
    except subprocess.CalledProcessError as e:
        print("下载或提取音频时出错:", e)

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("用法:python main.py <BV号> [音频格式]")
        sys.exit(1)

    bv_number = sys.argv[1]
    audio_fmt = sys.argv[2] if len(sys.argv) > 2 else "mp3"

    download_audio_from_bilibili(bv_number, audio_fmt)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值