Skip to main content

Search and download music from netease, qq, kugou, baidu and xiami.

Project description

music-dl

从网易云音乐、QQ音乐、酷狗音乐、百度音乐、虾米音乐等搜索和下载歌曲。

Search and download music from netease, qq, kugou, baidu and xiami.

注意:部分音乐源在一些国家和地区不可用,可以考虑使用中国大陆代理。

Note: Some music sources may not be available in some countries and regions. If so, you should use Chinese proxies. See https://github.com/0xHJK/Proxies for public proxies.

Feature

  • 支持指定搜索数量、音乐源和保存目录(默认搜索全部音乐源,数量为5)
  • 支持无损音乐搜索(数量较少,默认不打开)
  • 搜索音质优先级由高到低(flac -> 320K -> 128K)
  • 支持http代理和socks代理(海外党福音)
  • 支持多线程搜索
  • 支持排序和去重(默认不去重)

在以下环境测试通过(仅支持Python3):

系统名称 系统版本 Python版本
macOS 10.14 3.7.0
macOS 10.13 3.7.0
Windows Windows 7 x64 3.7.2
Windows Windows 10 x64 3.7.2
Ubuntu 16.04 x64 3.5.2

免责声明

  • 本工具只用作个人学习研究,禁止用于商业及非法用途,如产生法律纠纷与本人无关。
  • API来自网络,非官方API,随时可能失效。
  • 音乐版权归各网站所有,本工具主要目的是协助搜索,发现哪家音乐有版权。
  • 音乐仅用于试听,如果需要保存,请自行去各个网站下载正版。

提Issues说明

  • 检查是否是最新的代码,检查是否是Python3,检查依赖有没有安装完整
  • 说明使用的操作系统,例如Windows 10 x64
  • 说明Python版本,以及是否使用了pyenv等虚拟环境
  • 说明使用的命令参数、搜索关键字和出错的音乐源
  • 使用-v参数重试,说明详细的错误信息,最好有截图
  • 如果有新的思路和建议也欢迎提交

Install 安装

pip 安装

pip3 install pymusic-dl

# 推荐使用pip安装,前面加一个py是因为和别人重名了

手动安装

git clone https://github.com/0xHJK/music-dl.git
cd music-dl
python3 setup.py install

直接运行

git clone https://github.com/0xHJK/music-dl.git
cd music-dl
pip3 install -r requirements.txt
./music-dl
# 或 python3 music-dl

Usage 使用方式

$ music-dl --help
Usage: music-dl [OPTIONS]

  Search and download music from netease, qq, kugou, baidu and xiami.
  example: music-dl -k "周杰伦" -s "qq baidu xiami" -c 10 -o "/tmp"

Options:
  --version            Show the version and exit.
  -k, --keyword TEXT   搜索关键字
  -s, --source TEXT    数据源目前支持qq netease kugou baidu xiami flac
  -c, --count INTEGER  搜索数量限制
  -o, --outdir TEXT    指定输出目录
  -x, --proxy TEXT     指定代理(如http://127.0.0.1:1087)
  -m, --merge          对搜索结果去重和排序(默认不去重)
  -v, --verbose        详细模式
  --help               Show this message and exit.
  • 默认搜索所有音乐源,每个数量限制为5,保存目录为当前目录,不合并搜索结果。
  • 指定序号时可以使用1-5 7 10的形式。
  • 需要合并搜索结果时,排序顺序按照歌手和歌名排序,当两者都相同时保留最大的文件。
  • 无损音乐歌曲数量较少,如果没有无损会显示320K或128K,建议只在搜索特定歌曲名时手动打开-s flac
  • 支持http代理和socks代理,使用-x http://127.0.0.1:1087-x socks5://127.0.0.1:1086打开该功能

获取公共代理的方式可以参考我的另一个项目https://github.com/0xHJK/Proxies,100行Python代码快速获得一个代理池,两分钟获得数千个有效代理。

Example 使用示例:

查看https://github.com/0xHJK/music-dl/tree/master/docs可以看到使用截图(彩色)。

默认搜索

$ music-dl
请输入要搜索的歌曲,名称和歌手一起输入可以提高匹配(如 空帆船 朴树)
 >>: 周杰伦

Searching 周杰伦 from ... QQ ... NETEASE ... KUGOU ... BAIDU ... XIAMI ...
---------------------------

 [  0 ]      QQ | 0:03:35 -  3.28MB - 周杰伦 - 告白气球 - 周杰伦的床边故事
 [  1 ]      QQ | 0:03:59 -  3.66MB - 周杰伦 - 青花瓷 - 我很忙
 [  2 ]      QQ | 0:04:10 -  3.83MB - 周杰伦 - 龙卷风 - Jay
 [  3 ]      QQ | 0:03:43 -  3.42MB - 周杰伦 - 稻香 - 魔杰座
 [  4 ]      QQ | 0:04:30 -  4.12MB - 周杰伦 - 等你下课(with 杨瑞代) - 等你下课
 [  5 ]   KUGOU | 0:03:35 -  3.28MB - 周杰伦 - 告白气球 - 周杰伦的床边故事
 [  6 ]   KUGOU | 0:04:56 -  4.53MB - 周杰伦 - 不能说的秘密 - 不能说的秘密 电影原声带
 [  7 ]   KUGOU | 0:04:29 -  4.12MB - 周杰伦 - 晴天 - 叶惠美
 [  8 ]   KUGOU | 0:03:57 -  3.62MB - 周杰伦 - 青花瓷 - 我很忙
 [  9 ]   KUGOU | 0:03:43 -  3.41MB - 周杰伦 - 稻香 - 魔杰座
 [ 10 ] NETEASE | 0:05:19 -  4.88MB - 温岚、周杰伦 - 屋顶 - 有点野
 [ 11 ] NETEASE | 0:04:54 -   4.5MB - 蔡依林、周杰伦 - 布拉格广场 - 看我72变
 [ 12 ] NETEASE | 0:04:17 -  2.99MB - 蔡依林、周杰伦 - 骑士精神 - 看我72变
 [ 13 ] NETEASE | 0:03:14 -  2.25MB - 李玟、周杰伦 - 刀马旦 - Promise
 [ 14 ]   BAIDU | 0:04:28 -  4.11MB - 山弟 - 周杰伦 - 周杰伦
 [ 15 ]   BAIDU | 0:03:35 -  3.29MB - 周杰伦 - 告白气球 - 周杰伦的床边故事
 [ 16 ]   BAIDU | 0:03:59 -  3.65MB - 周杰伦 - 青花瓷 - 我很忙
 [ 17 ]   BAIDU | 0:04:30 -  4.14MB - 周杰伦 - 简单爱 - 婚礼歌手 幸福情歌精选
 [ 18 ]   BAIDU | 0:04:29 -  4.12MB - 周杰伦 - 晴天 - 叶惠美
 [ 19 ]   XIAMI | 0:03:15 -  2.98MB - Abby - 周杰伦香水广告BGM - 周杰伦香水广告
 [ 20 ]   XIAMI | 0:03:16 -  2.99MB - Abby - 周杰伦香水广告单曲(升key) - 周杰伦香水广告
 [ 21 ]   XIAMI | 0:03:47 -  3.47MB - Atms4Muzik - 娘子remix(ATMS Bootleg) - 娘子REmix--ATMS BOOTLEG
 [ 22 ]   XIAMI | 0:04:01 -  3.68MB - 音乐热搜 - 千山万水 (Live) - 周杰伦现场合集
 [ 23 ]   XIAMI | 0:02:50 -  2.61MB - 嘻游记 - 夜店咖 - 嘻游记 首张同名EP

---------------------------
请输入下载序号,支持形如 0 3-5 8 的格式,输入 N 跳过下载
 >>: 0
 [  0 ]      QQ | 0:03:35 -  3.28MB - 周杰伦 - 告白气球 - 周杰伦的床边故事
下载中...  [####################################]  100%
已保存到:/tmp/周杰伦 - 告白气球.mp3

指定参数搜索

$ music-dl -c 10 -o "/tmp" -s "baidu xiami kugou qq netease flac" -v -m
请输入要搜索的歌曲,名称和歌手一起输入可以提高匹配(如 空帆船 朴树)
 >>: 赵雷

Searching 赵雷 from ... KUGOU ... QQ ... NETEASE ... XIAMI ... BAIDU ... FLAC ...
---------------------------

 [  0 ]   KUGOU | 0:04:41 -  4.29MB - 赵雷 - 鼓楼 - 无法长大
 [  1 ]   KUGOU | 0:06:14 -  5.71MB - 赵雷 - 阿刁 - 无法长大
 [  2 ]   XIAMI | 0:03:46 -  8.63MB - 赵雷 - 画 - 赵小雷
 [  3 ]   KUGOU | 0:05:16 -  4.83MB - 赵雷 - 理想 (Live) - 歌手2017 第四期
 [  4 ]   XIAMI | 0:05:13 - 11.98MB - 赵雷 - 理想 - 吉姆餐厅
 [  5 ]   XIAMI | 0:03:42 -  3.38MB - 赵雷 - 梦中的哈德森 - 吉姆餐厅
 [  6 ]   XIAMI | 0:04:47 - 10.98MB - 赵雷 - 无法长大 - 无法长大
 [  7 ]      QQ | 0:04:30 -  4.13MB - 赵雷 - 我们的时光 - 吉姆餐厅
 [  8 ]   KUGOU | 0:05:29 -  5.02MB - 赵雷 - 成都 (Live) - 歌手2017 第三期
 [  9 ]   XIAMI | 0:05:28 - 12.52MB - 赵雷 - 成都 - 无法长大
 [ 10 ]   BAIDU | 0:04:42 - 58.44MB - 赵雷 - 彩虹下面(电影《西虹市首富》推广曲) - 彩虹下面(电影《西虹市首富》推广曲)
 [ 11 ]   BAIDU | 0:04:42 -  4.32MB - 赵雷 - 彩虹下面 - 西虹市首富 电影原声
 [ 12 ]    FLAC | 0:05:06 - 28.06MB - 赵雷 - 少年锦时 - 吉姆餐厅
 [ 13 ]   BAIDU | 0:05:04 -  4.65MB - 赵雷 - 家乡 - 家乡
 [ 14 ]   XIAMI | 0:05:52 -  5.37MB - 赵雷 - 吉姆餐厅 - 吉姆餐厅
 [ 15 ]   XIAMI | 0:05:32 - 12.69MB - 赵雷 - 南方姑娘 - 赵小雷
 [ 16 ]      QQ | 0:03:53 -  3.56MB - 赵雷 - 十九岁 - 十九岁
 [ 17 ]   KUGOU | 0:04:31 -  4.14MB - 赵雷 - 八十年代的歌 - 无法长大
 [ 18 ]   KUGOU | 0:05:22 -  4.91MB - 赵雷 - 三十岁的女人 (Live) - 歌手2017 第六期
 [ 19 ]      QQ | 0:05:28 -  5.01MB - 赵雷 - 三十岁的女人 - 吉姆餐厅
 [ 20 ]   XIAMI | 0:04:42 - 10.79MB - 彭飞 - 彩虹下面 - 西虹市首富 电影原声

---------------------------
请输入下载序号,支持形如 0 3-5 8 的格式,输入 N 跳过下载
 >>: 12

 ------------
 -> 来源:[ 12 ] FLAC #124575402
 -> 歌曲:少年锦时
 -> 歌手:赵雷
 -> 专辑:吉姆餐厅
 -> 时长: 0:05:06
 -> 大小: 28.06MB
 -> 比特率: 769
 -> URL: http://zhangmenshiting.qianqian.com/data2/music/3e59b1d4d103e66c04fe7cf92a155a21/596911714/124575402237600769.flac?xcode=cd7b16c1a14afe9284b505fb6b038464

下载中...  [####################################]  100%
已保存到:/tmp/赵雷 - 少年锦时.flac

请输入要搜索的歌曲,或Ctrl+C退出

不使用去重效果:

$ music-dl -c 10 -k "朴树"

Searching 朴树 from ... QQ ... KUGOU ... NETEASE ... BAIDU ... XIAMI ...
---------------------------

 [  0 ]      QQ | 0:05:01 -  4.61MB - 朴树 - 平凡之路 - 猎户星座
 [  1 ]      QQ | 0:04:54 -   4.5MB - 朴树 - 生如夏花 - 生如夏花
 [  2 ]      QQ | 0:04:54 -   4.5MB - 朴树 - 那些花儿 - 我去2000年
 [  3 ]      QQ | 0:02:52 -  2.64MB - 朴树 - 送别 - 送别
 [  4 ]      QQ | 0:04:22 -  4.01MB - 朴树 - 白桦林 (Live) - 乐人·Live:朴树“好好地II”巡回演唱会上海站(Live)
 [  5 ]      QQ | 0:04:12 -  3.85MB - 朴树 - 在木星 - 猎户星座
 [  6 ]      QQ | 0:03:43 -  3.41MB - 朴树 - 且听风吟 - 生如夏花
 [  7 ]      QQ | 0:05:20 -  4.89MB - 朴树 - Forever young - 猎户星座
 [  8 ]      QQ | 0:06:26 -   5.9MB - 朴树 - No Fear In My Heart - 猎户星座(实体专辑版)
 [  9 ]      QQ | 0:04:19 -  3.96MB - 朴树 - 好好地 - 猎户星座
 [ 10 ]   KUGOU | 0:05:02 -  4.61MB - 朴树 - 平凡之路 - 猎户星座
 [ 11 ]   KUGOU | 0:04:54 -  4.51MB - 朴树 - 生如夏花 - 生如夏花
 [ 12 ]   KUGOU | 0:04:54 -   4.5MB - 朴树 - 那些花儿 - 我去2000年
 [ 13 ]   KUGOU | 0:03:05 -  2.83MB - 朴树 - 送别 (Live) - “用奋斗点亮幸福”江苏卫视2019跨年演唱会
 [ 14 ]   KUGOU | 0:04:22 -  4.01MB - 朴树 - 白桦林 (Live) - 乐人·Live:朴树“好好地II”巡回演唱会上海站
 [ 15 ]   KUGOU | 0:05:00 -  4.58MB - 朴树 - 平凡之路 (Live) - “用奋斗点亮幸福”江苏卫视2019跨年演唱会
 [ 16 ]   KUGOU | 0:04:34 -  4.18MB - 朴树 - 清白之年 - 猎户星座
 [ 17 ]   KUGOU | 0:02:48 -  2.57MB - 朴树 - 送别 - 厨子戏子痞子 电影原声带
 [ 18 ]   KUGOU | 0:04:50 -  4.43MB - 朴树 - 猎户星座 - 猎户星座 (实体专辑版)
 [ 19 ]   KUGOU | 0:04:56 -  4.51MB - 王子文、朴树 - 那些花儿 (Live) - 跨界歌王 总决赛
 [ 20 ] NETEASE | 0:05:02 -  4.61MB - 朴树 - 平凡之路 - 猎户星座
 [ 21 ] NETEASE | 0:02:52 -   6.6MB - 朴树 - 送别 - 送别
 [ 22 ] NETEASE | 0:04:54 -   4.5MB - 朴树 - 那些花儿 - 我去2000年
 [ 23 ] NETEASE | 0:04:54 -  3.37MB - 朴树 - 生如夏花 - 生如夏花
 [ 24 ] NETEASE | 0:04:34 -  3.14MB - 朴树 - 清白之年 - 猎户星座
 [ 25 ] NETEASE | 0:03:49 -   3.5MB - 朴树 - 白桦林 - 我去2000年
 [ 26 ] NETEASE | 0:04:50 -  4.43MB - 朴树 - 猎户星座 - 猎户星座 (实体专辑版)
 [ 27 ] NETEASE | 0:03:42 -  2.55MB - 朴树 - New Boy - 我去2000年
 [ 28 ] NETEASE | 0:06:35 -  6.03MB - 朴树 - No Fear In My Heart - No Fear In My Heart
 [ 29 ] NETEASE | 0:03:43 -  2.56MB - 朴树 - 且听风吟 - 生如夏花
 [ 30 ]   BAIDU | 0:04:55 -  4.51MB - 朴树 - 那些花儿 - 我去2000年
 [ 31 ]   BAIDU | 0:03:47 -  3.47MB - 朴树 - 白桦林 - 我去2000年
 [ 32 ]   BAIDU | 0:06:35 -  6.03MB - 朴树 - No Fear In My Heart - No Fear In My Heart
 [ 33 ]   BAIDU | 0:03:44 -  3.43MB - 朴树 - NEW BOY - 我去2000年
 [ 34 ]   BAIDU | 0:05:33 -  5.09MB - 朴树 - 召唤 - 我去2000年
 [ 35 ]   BAIDU | 0:03:22 -  3.09MB - 朴树 - 在希望的田野上 - 我去2000年
 [ 36 ]   BAIDU | 0:04:28 -  4.09MB - 朴树 - 旅途 - 我去2000年
 [ 37 ]   BAIDU | 0:05:41 -  5.22MB - 朴树 - 火车开往冬天 - 我去2000年
 [ 38 ]   BAIDU | 0:04:13 -  3.86MB - 朴树 - 世界尽头 - 潜流
 [ 39 ]   BAIDU | 0:04:08 -   3.8MB - 朴树 - 活着 - 我去2000年
 [ 40 ]   XIAMI | 0:04:48 -   4.4MB - 朴树 - 冲出你的窗口 - 冲出你的窗口
 [ 41 ]   XIAMI | 0:04:55 -  4.51MB - 华语群星 - 平凡之路 (Live) - 2015江苏卫视新年演唱会
 [ 42 ]   XIAMI | 0:02:52 -  2.64MB - 朴树 - 送别 - 送别
 [ 43 ]   XIAMI | 0:05:14 -  12.0MB - 朴树 - 空帆船 - 空帆船
 [ 44 ]   XIAMI | 0:04:04 -  9.33MB - 朴树 - 平凡之路 - 2014恒大音乐节现场版-朴树
 [ 45 ]   XIAMI | 0:06:42 - 15.37MB - 朴树 - No Fear In My Heart - No Fear In My Heart
 [ 46 ]   XIAMI | 0:04:55 - 11.25MB - 华语群星 - 生如夏花 - 华纳影视歌曲精选辑 颂
 [ 47 ]   XIAMI | 0:05:31 -  5.07MB - 朴树 - Hey, 我在 - Hey, 我在
 [ 48 ]   XIAMI | 0:04:22 -  10.0MB - 朴树 - 白桦林 - 2014恒大音乐节现场版-朴树
 [ 49 ]   XIAMI | 0:05:00 -  4.58MB - 华语群星 - 平凡之路 (Live) - 浙江卫视领跑2017 爱在一起演唱会

 ---------------------------

使用去重后效果:

$ music-dl -c 10 -k "朴树" -m

Searching 朴树 from ... NETEASE ... QQ ... KUGOU ... XIAMI ... BAIDU ...
---------------------------

 [  0 ]   KUGOU | 0:04:56 -  4.51MB - 王子文、朴树 - 那些花儿 (Live) - 跨界歌王 总决赛
 [  1 ]   BAIDU | 0:04:55 -  4.51MB - 朴树 - 那些花儿 - 我去2000年
 [  2 ]   KUGOU | 0:03:05 -  2.83MB - 朴树 - 送别 (Live) - “用奋斗点亮幸福”江苏卫视2019跨年演唱会
 [  3 ] NETEASE | 0:02:52 -   6.6MB - 朴树 - 送别 - 送别
 [  4 ]   XIAMI | 0:05:14 -  12.0MB - 朴树 - 空帆船 - 空帆船
 [  5 ]      QQ | 0:04:22 -  4.01MB - 朴树 - 白桦林 (Live) - 乐人·Live:朴树“好好地II”巡回演唱会上海站(Live)
 [  6 ]   XIAMI | 0:04:22 -  10.0MB - 朴树 - 白桦林 - 2014恒大音乐节现场版-朴树
 [  7 ]   KUGOU | 0:04:54 -  4.51MB - 朴树 - 生如夏花 - 生如夏花
 [  8 ] NETEASE | 0:04:50 -  4.43MB - 朴树 - 猎户星座 - 猎户星座 (实体专辑版)
 [  9 ]   BAIDU | 0:05:41 -  5.22MB - 朴树 - 火车开往冬天 - 我去2000年
 [ 10 ]   KUGOU | 0:04:34 -  4.18MB - 朴树 - 清白之年 - 猎户星座
 [ 11 ]   BAIDU | 0:04:08 -   3.8MB - 朴树 - 活着 - 我去2000年
 [ 12 ]   BAIDU | 0:04:28 -  4.09MB - 朴树 - 旅途 - 我去2000年
 [ 13 ]   KUGOU | 0:05:00 -  4.58MB - 朴树 - 平凡之路 (Live) - “用奋斗点亮幸福”江苏卫视2019跨年演唱会
 [ 14 ]   XIAMI | 0:04:04 -  9.33MB - 朴树 - 平凡之路 - 2014恒大音乐节现场版-朴树
 [ 15 ]      QQ | 0:04:19 -  3.96MB - 朴树 - 好好地 - 猎户星座
 [ 16 ]      QQ | 0:04:12 -  3.85MB - 朴树 - 在木星 - 猎户星座
 [ 17 ]   BAIDU | 0:03:22 -  3.09MB - 朴树 - 在希望的田野上 - 我去2000年
 [ 18 ]   BAIDU | 0:05:33 -  5.09MB - 朴树 - 召唤 - 我去2000年
 [ 19 ]   XIAMI | 0:04:48 -   4.4MB - 朴树 - 冲出你的窗口 - 冲出你的窗口
 [ 20 ]   BAIDU | 0:04:13 -  3.86MB - 朴树 - 世界尽头 - 潜流
 [ 21 ]      QQ | 0:03:43 -  3.41MB - 朴树 - 且听风吟 - 生如夏花
 [ 22 ]   XIAMI | 0:06:42 - 15.37MB - 朴树 - No Fear In My Heart - No Fear In My Heart
 [ 23 ] NETEASE | 0:03:42 -  2.55MB - 朴树 - New Boy - 我去2000年
 [ 24 ]   BAIDU | 0:03:44 -  3.43MB - 朴树 - NEW BOY - 我去2000年
 [ 25 ]   XIAMI | 0:05:31 -  5.07MB - 朴树 - Hey, 我在 - Hey, 我在
 [ 26 ]      QQ | 0:05:20 -  4.89MB - 朴树 - Forever young - 猎户星座
 [ 27 ]   XIAMI | 0:04:55 - 11.25MB - 华语群星 - 生如夏花 - 华纳影视歌曲精选辑 颂
 [ 28 ]   XIAMI | 0:05:00 -  4.58MB - 华语群星 - 平凡之路 (Live) - 浙江卫视领跑2017 爱在一起演唱会

---------------------------

Music sources 支持音乐源列表

音乐源 缩写 网址
QQ音乐 qq https://y.qq.com/
酷狗音乐 kugou http://www.kugou.com/
网易云音乐 netease https://music.163.com/
百度音乐 baidu http://music.baidu.com/
虾米音乐 xiami https://www.xiami.com/
百度无损音乐 flac http://music.baidu.com/

欢迎提交插件支持更多音乐源!插件写法参考extractors中的文件

更新记录

  • 2019-01-28 重写一半以上代码,全面优化,发布到pip库,发布v2.0.0版本
  • 2019-01-26 支持http和socks代理,删除wget库,新增click库,发布v1.1版
  • 2019-01-25 支持百度无损音乐
  • 2019-01-24 优化交互、修复bug
  • 2019-01-22 解决Windows兼容问题,支持多线程,发布v1.0版
  • 2019-01-21 支持虾米音乐,支持去重
  • 2019-01-20 支持百度音乐
  • 2019-01-17 支持指定目录、数量、音乐源
  • 2019-01-12 QQ音乐320K失效
  • 2019-01-11 支持网易云音乐
  • 2019-01-09 完成v0.1版,支持酷狗和QQ

Credits 致谢

本项目受以下项目启发,参考了其中一部分思路,向这些开发者表示感谢。

LICENSE

MIT License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pymusic-dl, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size pymusic_dl-2.0.1-py3-none-any.whl (24.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pymusic-dl-2.0.1.tar.gz (22.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page