/music-dl

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

Primary LanguagePython

music-dl

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

支持指定搜索数量和音乐源,默认优先尝试下载320K,如果没有320K会下载128K。

由于各大音乐网站限制,高品质音乐一般只能通过会员下载。

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

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

You can specify music sources and limit count of search results.

The default priority is to try to download 320K music, then 128K.

Note: Some music sources may not be available in some countries and regions. If so, you should use Chinese proxies.

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

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

免责声明

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

提Issues说明

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

Usage 使用方式

安装依赖:

$ pip3 install -r requirements.txt

使用帮助:

$ python3 main.py -h
usage: python main.py [-k keyword] [-s source] [-c count] [-o outdir] [-v] [-m]
	-h --help        帮助
	-v --verbose     详细模式
	-m --merge       对搜索结果去重和排序
	--nomerge        对搜索结果不去重(默认不去重)
	-k --keyword=    搜索关键字
	-s --source=     数据源目前支持qq netease kugou baidu xiami
	-c --count=      数量限制
	-o --outdir=     指定输出目录
example: python main.py -k "周杰伦" -s "qq netease kugou baidu xiami" -c 10 -o "/tmp"

支持多线程搜索,默认搜索所有音乐源,每个数量限制为5,保存目录为当前目录,不合并搜索结果。

指定序号时可以使用1-5 7 10的形式。

需要合并搜索结果时,排序顺序按照歌手和歌名排序,当两者都相同时保留最大的文件。

注意:如果经常需要指定数量、目录等参数可以考虑修改glovar.py中的变量

Example 使用示例:

去重效果展示:

Before merge 去重前:

After merge 去重后:

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/

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

Credits 致谢

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

LICENSE

WTFPL