导言
我经常听网易音乐,但是众所周知,网易云音乐总是因为版权而不能听,要花钱买。我不心疼几块钱,但是这是对自己的技术的怀疑。我要用我勤劳的双手获取资源。一般,油猴是可以从网页版网易云音乐下载到音频文件,但也有失效的时候。于是,我想到去万能的B站上找,可是只能找到视频,可我并不想看MV啊。B站的音频又不方便搜索。于是我想可以下载视频然后抽取其中的音频信息。一种笨办法是录制音频,我肯定不会用的。于是,我用强大的下载工具youtube-dl。
最初,我对youtube-dl
的功能不是很了解,只能先下载视频文件,然后用moviepy
抽取音频。现在,我知道了youtube-dl
可以抽取音频。源码大大简化,也不需要其他依赖库。放心食用。
源码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
extract audio from videos on bilibili
requirements
youtube_dl
'''
import youtube_dl
def extract_audio(code, audio_name='%(title)s'):
# extract the audio from a video (with code <code>)
_opts = {
'outtmpl': f'{audio_name}.mp4',
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(_opts) as ydl:
ydl.download(['https://www.bilibili.com/video/%s' %code])
code = 'BV1K5411h7gM'
extract_audio(code)