项目地址
https://github.com/CharlesPikachu/musicdl
项目下载:
git clone https://github.com/CharlesPikachu/musicdl.git
项目启动
pip install -r requirements.txt
python setup.py install # cd musicdl
python musicdl.py
项目运行
在终端运行代码
musicdl -k 起风了
结果如下:
(venv) hugo@hugo-virtual-machine:~/PycharmProjects/musicdl-master/examples/singerlyricsanalysis$ musicdl -k 起风了
Welcome to use musicdl!
You can visit https://github.com/CharlesPikachu/musicdl for more details.
2023-04-11 15:42:33 INFO 正在搜索 起风了 来自 KUGOU|KUWO|QQMUSIC|QIANQIAN|FIVESING|NETEASE|MIGU|JOOX|YITING
2023-04-11 15:42:36 WARNING 无法在migu中搜索 >>>> 起风了
+------+----------------+---------------------------------+---------+----------+------------------------------+----------+
| 序号 | 歌手 | 歌名 | 大小 | 时长 | 专辑 | 来源 |
+------+----------------+---------------------------------+---------+----------+------------------------------+----------+
| 0 | 周深 | 起风了-BILIBILI 11周年演讲 | -MB | 00:05:11 | 起风了 | KUWO |
| 1 | 买辣椒也用券 | 起风了-原曲《ヤキモチ》—高桥优 | -MB | 00:05:12 | 起风了 (旧版) | KUWO |
| 2 | 林俊杰 | 起风了 | -MB | 00:04:57 | - | KUWO |
| 3 | 周深 | 起风了 | -MB | 00:05:11 | 起风了 | KUWO |
| 4 | 买辣椒也用券 | 起风了 | -MB | 00:05:25 | 起风了 | KUWO |
| 5 | 买辣椒也用券 | 起风了 | 4.97MB | 00:05:25 | 起风了 | KUGOU |
| 6 | 周深 | 起风了 | 4.75MB | 00:05:11 | 起风了 | KUGOU |
| 7 | 林俊杰 | 起风了 (Live) | 4.73MB | 00:05:09 | - | KUGOU |
| 8 | 买辣椒也用券 | 起风了 (旧版) | 4.78MB | 00:05:12 | 起风了 (旧版) | KUGOU |
| 9 | 吴青峰 | 起风了 | 4.79MB | 00:05:13 | 我们的主题曲Vol.2 | KUGOU |
| 10 | 买辣椒也用券 | 起风了 | 4.97MB | 00:05:25 | 起风了 | QQMUSIC |
| 11 | 买辣椒也用券 | 起风了 (旧版) | 4.78MB | 00:05:12 | 起风了 (旧版) | QQMUSIC |
| 12 | 周深 | 起风了 | 4.75MB | 00:05:11 | 起风了 | QQMUSIC |
| 13 | 吴青峰 | 起风了 (Live) | 4.54MB | 00:04:57 | - | QQMUSIC |
| 14 | Vk | 起风了 | 12.09MB | -:-:- | - | FIVESING |
| 15 | 祈小夕 | 起风了 | 12.49MB | -:-:- | - | FIVESING |
| 16 | 萧忆情Alex | 起风了 | 12.36MB | -:-:- | - | FIVESING |
| 17 | Assen捷 | 起风了 | 12.38MB | -:-:- | - | FIVESING |
| 18 | 雪霏岚岚 | 起风了(粤语版) | 11.85MB | -:-:- | - | FIVESING |
| 19 | 买辣椒也用券 | 起风了 | 4.97MB | 00:05:25 | 起风了 | NETEASE |
| 20 | 吴青峰 | 起风了 | 4.79MB | 00:05:13 | 起风了 | NETEASE |
| 21 | 周深 | 起风了 | 4.75MB | 00:05:11 | 起风了 | NETEASE |
| 22 | 五月 | 起风了(旧版) | 12.66MB | 00:05:31 | 暖风 | NETEASE |
| 23 | 田杰 | 起风了(0.89x)降调版 | 5.09MB | 00:02:13 | 0 | NETEASE |
| 24 | 艺宝宝(权艺) | 起风 | 3.0MB | 00:03:16 | 起风 | QIANQIAN |
| 25 | 轻音作家 | 起风(钢琴曲) | 2.75MB | 00:03:01 | 静心午茶古典BGM 经典钢琴小品 | QIANQIAN |
| 26 | 子弹壳乐队 | 起风了你在哪呢 | 5.05MB | 00:05:31 | 起风了你在哪呢 | QIANQIAN |
| 27 | 宋瑞 | 起风了(咚鼓版) | 6.28MB | 00:06:51 | 曲风豪横 | QIANQIAN |
| 28 | 彭子瀛 | 起风后 | 3.09MB | 00:03:22 | 起风后 | QIANQIAN |
+------+----------------+---------------------------------+---------+----------+------------------------------+----------+
请输入想要下载的音乐编号:
输入想要下载的音乐编号即可!!!
通过代码下载
这个代码会从target_srcs指定的平台,下载能搜索到的音乐(每个平台显示前五个结果),并保存到savedir指定的目录下。
savedir可以通过修改在musicdl文件夹中的config.json文件进行修改。
from musicdl import musicdl
config = {'logfilepath': 'musicdl.log', 'savedir': 'downloaded', 'search_size_per_source': 5, 'proxies': {}}
target_srcs = [
'kugou', 'kuwo', 'qqmusic', 'qianqian', 'fivesing',
'netease', 'migu', 'joox', 'yiting',
]
# target_srcs是一个列表对象, 用于自定义平台:
# lizhi: 荔枝FM
# migu: 咪咕音乐
# kuwo: 酷我音乐
# joox: JOOX音乐
# kugou: 酷狗音乐
# yiting: 一听音乐
# qqmusic: QQ音乐
# qianqian: 千千音乐
# fivesing: 5SING音乐
# netease: 网易云音乐
# ximalaya: 喜马拉雅
client = musicdl.musicdl(config=config)
search_results = client.search('起风了', target_srcs)
print(search_results)
for key, value in search_results.items():
client.download(value)
延伸功能
音乐下载器GUI
使用PyQt5编写的GUI,可以直接在GUI中搜索并下载音乐。
cd examples/musicdlgui
python musicdlgui.py
下载页面如下,右键选择想要下载的音乐即可下载:
歌词获取歌曲片段
cd examples/searchlyrics
python searchlyrics.py
结果示意:
歌手歌词情感分析和词云图
cd examples/singerlyricsanalysis
python singerlyricsanalysis.py
结果如下:
打包成EXE文件
使用PyInstaller打包成EXE文件,可以直接在Windows系统中运行。
pip install pyinstaller
pyinstaller --onefile --icon=icon2.ico --name=音乐小站 musicdlgui.py