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
可配置的項
檔名的命名格式
- 歌曲名
- 歌手 - 歌曲名
- 歌曲名 - 歌手
例如:我想使用第二種命名方式,那麼我們只需要將配置檔案中
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]:下載歌詞(只有在指定為下載是有效,不支援一聽平臺)