网易云与QQ音乐共享了99%乐库,那么这个工具解决剩下的百分之一--SDMUSIC(开源命令行音乐搜索下载软件)

4-17

修复qq音乐平台无法下载的BUG

4-15

修改了部分BUG,美化了结果输出。非常感谢raawaa

新增(3-5)

批量下载UK榜,美国Billboard周榜,Beatport全球电子舞曲榜,法国 NRJ Vos Hits 周榜,日本Oricon周榜,台湾Hito排行榜

新增(3-1)

新增飙升榜(网易云,QQ)音乐下载,新增原创榜下载(网易云,虾米音乐),热歌榜新增虾米音乐

新增(2-28)

新增网易云和QQ音乐热歌榜下载,指定参数-hot加平台就可以了,修复/的BUG

新增(2-27)

QQ歌单下载

注意: 新增QQ音乐歌单下载,需要指定-p qq。注意qq音乐批量下载中需要将https://y.qq.com/w/taoge.html?ADTAG=newyqq.taoge&id=3710267240改为https://y.qq.com/w/taoge.html?ADTAG=newyqq.taoge\&id=3710267240,就是在&前加\,否则无法正常工作,或者直接指定id的值也可以。

新增(2-22)

虾米歌单下载,修复若干BUG!

功能清单

  • [x] 搜索
  • [x] 下载
  • [x] 歌词
  • [x] 专辑图片下载与嵌入(在下载时指定-a参数,实现此功能依赖你电脑的ffmpeg)
  • [x] 批量下载(网易云音乐,虾米音乐歌单,QQ音乐歌单下载)
  • [x] 高清音乐源(使用-tfc(test flac)参数来测试音乐是否有flac无损格式的,通过-dfc(download flac)来下载flac格式的音乐,flac格式自带信息嵌入,所以不需要也不容许使用-a,但可以使用-l)
  • [x] 增加配置文件,给用户更多自定义功能
  • [x] 批量下载热歌(网易云和QQ音乐热歌榜)
  • [ ] 根据文本下载音乐

起因

今天无意间看到这条新闻,听说已经共享了99%的乐库。于是屁颠屁颠的打开网易云,搜索了前段时间很火的体面,然而,依旧没有于文文版的,很多经典的粤语歌也没得听。于是就有了这个小工具-SDMUSIC。SDMUSIC的名字,其实就是Search && Download Music ,使用Python3编写的命令行软件,理论上支持所有平台,暂时只在类Unix(Ubuntu && Arch && Mac)系统上测试。

 ______     _____     __    __     __  __     ______     __     ______    
/\  ___\   /\  __-.  /\ "-./  \   /\ \/\ \   /\  ___\   /\ \   /\  ___\   
\ \___  \  \ \ \/\ \ \ \ \-./\ \  \ \ \_\ \  \ \___  \  \ \ \  \ \ \____  
 \/\_____\  \ \____-  \ \_\ \ \_\  \ \_____\  \/\_____\  \ \_\  \ \_____\ 
  \/_____/   \/____/   \/_/  \/_/   \/_____/   \/_____/   \/_/   \/_____/

使用方法

这个项目已经开源到了github上 。同时,也已经同步到了PyPi。

配置

配置文件的位置~/.sdmusic/sdmusic.config

可配置的项

文件名的命名格式

  1. 歌曲名
  2. 歌手 - 歌曲名
  3. 歌曲名 - 歌手

例如:我想使用第二种命名方式,那么我们只需要将配置文件中

 song.name_type = 2

歌曲默认下载路径 例如修改到/home/{username}/Music/test/目录下:

注意:路径要写全,否则可能报错

 download.dir = /home/{username}/Music/test/

安装

方法一

pip3 install sdmusic

方法二

git clone git@github.com:pcdack/SDMUSIC.git
cd SDMUSIC/
python3 setup.py install

检验

输入sdmusic -v输出:

 ______     _____     __    __     __  __     ______     __     ______    
/\  ___\   /\  __-.  /\ "-./  \   /\ \/\ \   /\  ___\   /\ \   /\  ___\   
\ \___  \  \ \ \/\ \ \ \ \-./\ \  \ \ \_\ \  \ \___  \  \ \ \  \ \ \____  
 \/\_____\  \ \____-  \ \_\ \ \_\  \ \_____\  \/\_____\  \ \_\  \ \_____\ 
  \/_____/   \/____/   \/_/  \/_/   \/_____/   \/_____/   \/_/   \/_____/

安装成功

搜索命令

sdmusic -n "体面" -s

下载命令

很简单只要把上面的s参数改为d,然后用-i在去指定你要下载那一条音乐。

例如

sdmusic -n "体面" -p qq -s

在命令行的结果为

Index   MusicName       MusicAuthor
1       体面    于文文
2       体面    艾辰
3       体面    简弘亦
4       体面    罗之豪
5       体面    胖胖胖
6       体面    阿细
7       体面    妖蝠sama
8       体面    冯允澈
9       体面    阿祥
10      体面    简弘亦

我们如果想下载第一个音乐,那么

技巧使用键盘的上键更改即可

sdmusic -n "体面" -p qq -d -i 1

回车就可下载。

批量下载

sdmusic -l -a -t http://music.163.com/#/playlist?id=932596614

上面这条命令,下载后面歌单的所有音乐,同时下载所有的歌词和嵌入专辑图 去掉-l,-a就可以不下载歌词和嵌入专辑图与专辑信息

批量下载虾米歌单

sdmusic -p xiami -t http://www.xiami.com/collect/281354699?spm=a1z1s.2943601.6856193.2.6C6Ltv

批量下载QQ音乐歌单:

注意&符号前一定要加\否则会报错

sdmusic -p qq -t https://y.qq.com/w/taoge.html?ADTAG=newyqq.taoge\&id=3710267240 

直接指定ID

sdmusic -p -t 3710267240

无损音乐测试与下载

  • 测试是否存在无损音乐
sdmusic -tfc -n "黄色大门"
  • 下载无损音乐(先测试是否存在)
sdmusic -dfc -n "黄色大门"

自带专辑图片和专辑信息,所以emmmmm-a属性没什么软用。当然-l(下载歌词)依然可用

下载热歌

网易云

sdmusic -hot

QQ音乐

sdmusic -hot -p qq

虾米音乐

sdmusic -hot -p xiami

下载飙升榜

网易云

sdmusic -soar

QQ音乐

sdmusic -soar -p qq

下载原创

网易云

sdmusic -origin

虾米

sdmusic -origin -p xiami

下载其他榜单 这里以UK榜为例

sdmusic -uk

其他榜

  • 日本Oricon周榜:oricon
  • 美国Billboard周榜:billboard
  • Beatport全球电子舞曲榜:beatport
  • 法国 NRJ Vos Hits 周榜:hits
  • 台湾Hito排行榜:hito

其他参数(除-o以外其他的在下载和搜索的时候都可以用)

可选参数 -p[platform]:可以指定搜索平台{netease(网易:默认),qq,xiami(虾米),kugou(酷狗),1ting(一听)} 例子

sdmusic -n "体面" -p qq -s

-g[page]:指定搜索的页面为第几页默认为第一页,如果第一页没有找到相关的歌曲,可以指定移动到第二页

sdmusic -n "体面" -p qq -g 1 -s

-v[version]:输出版本信息

-o[output]:指定输出路径(只有在指定为下载是有效) -l[lyric]:下载歌词(只有在指定为下载是有效,不支持一听平台)

如有其他需求,请尽情ISSUES,欢迎一起维护项目

关注下面的标签,发现更多相似文章
评论
说说你的看法