神器推荐:musicdl——纯Python写的无损音乐下载器,覆盖35+平台
一个命令行工具,把网易云、QQ音乐、Spotify、Apple Music 等35+平台的音乐搜罗到本地
你有没有遇到过这种情况——在网易云听到一首好歌,想存到本地收藏,却发现下载按钮灰了?或者在 Spotify 上听了一首不错的曲子,想离线保存一份无损文件?
今天介绍一个纯 Python 写的开源工具:musicdl,轻量、跨平台、覆盖35+音乐和有声平台。
它是什么
musicdl 是一个纯 Python 实现的命令行音乐下载工具,作者是 CharlesPikachu(甄朝朝)。你只需要装一个 pip 包,就能在终端里搜索和下载来自国内外主流平台的音乐。
许可证是 PolyForm Noncommercial,仅限教育和个人研究使用,禁止商业用途。
支持哪些平台
覆盖非常广,我按类别整理了一下:
国内主流: 咪咕、网易云音乐、QQ音乐、酷狗、酷我、千千音乐、B站、汽水音乐、街声、5SING
海外平台: Spotify、Apple Music、YouTube Music、TIDAL、Qobuz、SoundCloud、Deezer、JOOX
播客/有声书: 喜马拉雅、懒人听书、荔枝FM、蜻蜓FM
聚合搜索源: GD音乐台、煎饼搜等(可以一个关键词搜多个平台)
开箱默认启用5个国内源,海外源需要额外配置依赖。
快速上手
安装极其简单:
pip install musicdl
装完直接运行 `musicdl` 进入交互模式,可以搜索、选歌、下载,全程键盘操作。
不想交互,直接命令行搜:
musicdl -k "周杰伦"
下载整个歌单:
musicdl -p "歌单URL" -m NeteaseMusicClient
指定保存目录:
musicdl -m QQMusicClient -i '{"QQMusicClient": {"work_dir": "~/music"}}'
Python API 集成
如果你会 Python,还可以把它集成到自己的脚本里:
from musicdl import musicdl client = musicdl.MusicClient(music_sources=['NeteaseMusicClient']) results = client.search(keyword='尾戒') client.download(song_infos=results)
几行代码就能写一个自己的音乐下载器。
使用提醒
有几个点需要注意:
1. 国内平台开箱即用,不依赖外部工具
2. Apple Music / TIDAL / SoundCloud 等海外平台需要额外安装 `N_m3u8DL-RE` + `Bento4` + `amdecrypt`
3. 夸克网盘源的平台(如蜜兔、布谷等)需要登录 cookie,非 VIP 会限速
4. 许可证是 PolyForm Noncommercial,不要用于商业用途
适合谁用
- 音乐收藏爱好者:想把自己喜欢的歌存到本地,不受平台限制
- Python 开发者:几行代码就能集成到自己的项目里
- 离线党:没网的时候也能听喜欢的歌
资源链接
- GitHub:https://github.com/CharlesPikachu/musicdl
- PyPI:`pip install musicdl`