musicdl中文文档¶
项目声明¶
本项目仅供python爱好者学习使用, 若作者发现该项目以任何不正当方式被使用, 将立即删除该项目。
希望大家合理利用该项目🙂
支持列表¶
平台 | 支持音乐搜索? | 支持音乐下载? |
---|---|---|
QQ音乐 | ✓ | ✓ |
酷我音乐 | ✓ | ✓ |
酷狗音乐 | ✓ | ✓ |
虾米音乐 | ✓ | ✓ |
千千音乐 | ✓ | ✓ |
咪咕音乐 | ✓ | ✓ |
网易云音乐 | ✓ | ✓ |
百度无损音乐 | ✓ | ✓ |
JOOX音乐 | ✓ | ✓ |
环境说明¶
直接使用¶
配置文件¶
在musicdl文件夹中有config.json文件, 该文件为配置文件, 文件中各参数含义如下:
logfilepath: 日志文件保存路径
proxies: 设置代理, 支持的代理格式参见https://requests.readthedocs.io/en/master/user/advanced/#proxies
search_size_per_source: 在各个平台搜索时的歌曲搜索数量
savedir: 下载的音乐保存路径
安装使用¶
源代码安装¶
离线安装¶
利用如下命令下载Music-Downloader源代码到本地:
git clone https://github.com/CharlesPikachu/Music-Downloader.git
接着, 切到Music-Downloader目录下:
cd Music-Downloader
最后运行如下命令进行安装:
python setup.py install
快速开始¶
歌曲搜索¶
实现音乐搜索功能的示例代码如下:
from musicdl import musicdl
config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}}
target_srcs = ['baiduFlac', 'kugou', 'kuwo', 'qq', 'qianqian', 'netease', 'migu', 'xiami', 'joox']
client = musicdl.musicdl(config=config)
search_results = client.search('说好不哭', target_srcs)
其中config是一个字典对象, 字典内各参数含义:
logfilepath: 日志文件保存路径
proxies: 设置代理, 支持的代理格式参见https://requests.readthedocs.io/en/master/user/advanced/#proxies
search_size_per_source: 在各个平台搜索时的歌曲搜索数量
savedir: 下载的音乐保存路径
target_srcs是一个列表对象, 用于指定音乐搜索的平台:
baiduFlac: 百度无损音乐
kugou: 酷狗音乐
kuwo: 酷我音乐
qq: qq音乐
qianqian: 千千音乐
netease: 网易云音乐
migu: 咪咕音乐
xiami: 虾米音乐
joox: JOOX音乐
search_results为歌曲搜索的结果, 是一个字典对象, 格式如下:
{
搜索平台: 歌曲信息
}
歌曲下载¶
下载各平台音乐搜索结果的示例代码如下:
from musicdl import musicdl
config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}}
target_srcs = ['baiduFlac', 'kugou', 'kuwo', 'qq', 'qianqian', 'netease', 'migu', 'xiami', 'joox']
client = musicdl.musicdl(config=config)
search_results = client.search('说好不哭', target_srcs)
for key, value in search_results.items():
client.download(value)
当然你也可以自己打印搜索结果, 并自己选择想要下载的歌曲, 例如:
print(search_results)
client.download([search_results['migu'][0]])
注意, download函数传入的参数必须是一个列表对象.
自定义平台¶
通过安装musicdl, 你可以自定义平台进行音乐搜索和下载, 示例代码如下:
from musicdl import musicdl
config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}}
target_srcs = ['baiduFlac', 'kugou', 'kuwo', 'qq', 'qianqian', 'netease', 'migu', 'xiami', 'joox']
client = musicdl.musicdl(config=config)
client.run(target_srcs)
target_srcs是一个列表对象, 用于自定义平台:
baiduFlac: 百度无损音乐
kugou: 酷狗音乐
kuwo: 酷我音乐
qq: qq音乐
qianqian: 千千音乐
netease: 网易云音乐
migu: 咪咕音乐
xiami: 虾米音乐
joox: JOOX音乐
开发日志¶
- 2018-06-27
v1.0: 支持网易云, 千千音乐, 酷狗音乐, QQ音乐的音乐下载器
- 2018-07-01
v1.1: 添加对酷我音乐的支持
- 2018-07-02
v1.2: 代码优化, 添加对虾米音乐的支持
- 2018-08-05
v1.3: 支持终端运行
- 2019-02-02
v2.0.1: 代码优化, 更人性化设计, 支持pip安装
- 2019-04-15
v2.0.2: 修复虾米音乐中的bugs
- 2019-06-09
v2.0.2: 修复酷狗音乐中的bugs
- 2019-07-13
v2.0.4: 添加对百度无损音乐的支持
- 2019-08-24
v2.0.5: 解决一些代码中的bugs和修复失效的apis
- 2019-08-28
v2.0.6: 添加对咪咕音乐的支持
- 2020-01-07
v2.0.7: 修复咪咕音乐中的bugs
- 2020-04-01
v2.1.0: 全新升级, 更人性化设计, 代码修复与优化, 增加项目文档等
- 2020-04-02
v2.1.1: 鲁棒性增强, 重新添加对虾米音乐的支持
- 2020-04-03
v2.1.2: 添加了对JOOX音乐的支持
- 2020-04-15
v2.1.4: 解决一些小问题
关于作者¶
学生党, 主要研究方向是计算机视觉, 顺便对信息安全感兴趣。
我的个人微信公众号是: Charles_pikachu (欢迎搜索关注)
我的Github账号是: https://github.com/CharlesPikachu
我的知乎账号是: https://www.zhihu.com/people/charles_pikachu
我的B站账号是: https://space.bilibili.com/406756145
个人邮箱: charlesblwx@gmail.com