Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

程式設計師啟航發表於2019-07-19

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從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

免責宣告

  • 本工具只用作個人學習研究,禁止用於商業及非法用途,如產生法律糾紛與本人無關。
  • API來自網路,非官方API,隨時可能失效。
  • 音樂版權歸各網站所有,本工具主要目的是協助搜尋,發現哪家音樂有版權。
  • 音樂僅用於試聽,如果需要儲存,請自行去各個網站下載正版。

提Issues說明

  • 檢查是否是最新的程式碼,檢查是否是Python3,檢查依賴有沒有安裝完整 。
  • 說明使用的作業系統,例如Windows 10 x64
  • 說明Python版本,以及是否使用了pyenv等虛擬環境
  • 說明使用的命令引數、搜尋關鍵字和出錯的音樂源
  • 使用   -v   引數重試,說明詳細的錯誤資訊,最好有截圖
  • 如果有新的思路和建議也歡迎提交

Usage 使用方式

安裝依賴:

使用幫助:

$ 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 flac
-c --count= 數量限制
-o --outdir= 指定輸出目錄
-x --proxy= 指定代理(如http://127.0.0.1:1087)
example: python main.py -k "周杰倫" -s "qq netease kugou baidu xiami" -c 10 -o "/tmp"</pre>

  • 預設搜尋所有音樂源,每個數量限制為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 使用示例:

Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

去重效果展示(早期版本截圖):

Before merge 去重前:

Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

After merge 去重後:

Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

Music sources 支援音樂源列表

Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

歡迎提交外掛支援更多音樂源!外掛寫法參考   core/extractors   中的檔案

Python從網易雲音樂、QQ 音樂、酷狗音樂等搜尋和下載歌曲

更新記錄

  • 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
    學習過程中有不懂的可以加入我們的學習交流秋秋圈784中間758後面214,與你分享Python企業當下人才需求及怎麼從零基礎學習Python,和學習什麼內容。相關學習視訊資料、開發工具都有分享

Credits 致謝

本專案受以下專案啟發,參考了其中一部分思路,向這些開發者表示感謝。

LICENSE

WTFPL

如果你依然在程式設計的世界裡迷茫,可以加入我們的Python學習扣qun:784758214,看看前輩們是如何學習的!交流經驗!

自己是一名高階python開發工程師,從基礎的python指令碼到web開發、爬蟲、django、資料探勘等,零基礎到專案實戰的資料都有整理。送給每一位python的小夥伴!分享一些學習的方法和需要注意的小細節,這裡是python學習者聚集地


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913713/viewspace-2651168/,如需轉載,請註明出處,否則將追究法律責任。

相關文章