原文链接
哇,公众号发布的音乐下载器又全新升级啦~mp.weixin.qq.com
效果展示
见:https://zhuanlan.zhihu.com/p/...
项目文档
musicdl中文文档 - musicdl 2.1.0 文档
项目地址
https://github.com/CharlesPikachu/Music-Downloader
更新简介
公众号的老粉丝应该还记得公众号之前分享的音乐下载器项目吧:
转眼间项目又一年多没什么更新了,而自己也用了一年多,感觉这项目还是存在很多缺点的,于是根据自己一年多来的使用体验,对这款音乐下载器又做了一些更新升级,顺便分享给大家。废话不多说,让我们愉快地开始吧。
1.添加了项目文档
为了方便大家使用,尤其是方便一些喜欢鼓捣的人使用(例如想在树莓派上弄个音乐下载器,可以声控下载和播放音乐?没错,那个人就是我,当然希望你也可以
),我花了点时间整理并上线了一份项目文档:
https://musicdl.readthedocs.io/zh/latest/
目前文档里的内容还比较简单,后续会逐渐完善这个文档的。
2.修复了一些失效的api和bugs
目前这款音乐下载器支持的平台情况如下:
3.支持全平台搜索
之前发布的版本都是先选择平台,然后再根据用户输入的关键词进行歌曲搜索。自己用了一年多后的感觉就是,我**怎么知道哪首歌在哪个平台上搜索比较好?!这设计也太愚蠢了!
于是在默认情况下,我们的音乐下载器现在直接支持全平台搜索了,而不需要一个个平台地去尝试了,效果大概是这样的:
里面添加了更详细的歌曲信息,以方便大家使用。
4.支持pip安装
效果如下:
很多小伙伴可能会问啦,支持pip安装有什么用呢?对于一般的小伙伴,当然是用不上的。支持pip主要是为了给爱鼓捣的小伙伴使用,例如某些小伙伴不想使用全平台搜索功能,那么安装了该库之后,你可以自己写一个脚本,实现指定平台的歌曲搜索。例如指定网易云音乐和咪咕音乐进行搜索并下载搜索结果:
from musicdl import musicdl
config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}}
target_srcs = ['netease', 'migu']
client = musicdl.musicdl(config=config)
search_results = client.search('说好不哭', target_srcs)
for key, value in search_results.items():
client.download(value)
其中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:虾米音乐
更多功能可以参见项目文档里说明。
对了,有些小伙伴嫌弃GitHub慢,你也可以pip安装项目,然后写一个脚本:
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']
client = musicdl.musicdl(config=config)
client.run(target_srcs)
然后运行这个脚本,就愉快地使用我们最新版的音乐下载器了。
5.支持添加代理
之前有国外的同学说下载了我的项目后用不了,我一看,原来是有些平台只有国内用户可以使用,因此,加了个添加代理功能。对于爱鼓捣的用户,添加代理的方式参见上一条。对于不爱鼓捣的用户,你可以修改下图中所示的配置文件:
里面有配置代理的选项: