網易雲與QQ音樂共享了99%樂庫,那麼這個工具解決剩下的百分之一--SDMUSIC(開源命令行音樂搜索下載軟件)

4-17

修復qq音樂平臺沒法下載的BUGhtml

4-15

修改了部分BUG,美化告終果輸出。很是感謝raawaapython

新增(3-5)

批量下載UK榜,美國Billboard周榜,Beatport全球電子舞曲榜,法國 NRJ Vos Hits 周榜,日本Oricon周榜,臺灣Hito排行榜git

新增(3-1)

新增飆升榜(網易雲,QQ)音樂下載,新增原創榜下載(網易雲,蝦米音樂),熱歌榜新增蝦米音樂github

新增(2-28)

新增網易雲和QQ音樂熱歌榜下載,指定參數-hot加平臺就能夠了,修復/的BUGshell

新增(2-27)

QQ歌單下載bash

注意: 新增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)系統上測試。spa

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

複製代碼

使用方法

這個項目已經開源到了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,歡迎一塊兒維護項目

相關文章
相關標籤/搜索