網易雲音樂自動下載
來自專欄演算法學習之旅2 人贊了文章
好玩加想偷懶寫了個自動下載網易雲音樂歌單里歌曲的非常簡易版的腳本~~~用的是直接在知乎找到的API
CeuiLiSA:網易雲音樂(Cloudmusic)API# _*_ coding:utf-8 _*_# author: yyi# Jul.26,2018import requestsimport urllibimport jsonimport os# type參數使用的playlist,id是playlist的idr = requests.get("https://api.imjad.cn/cloudmusic/?type=playlist&id=2182943815")# 格式化返回的json信息,以做後續處理info = json.dumps(r.json(), ensure_ascii=False,sort_keys=True, indent=4, separators=(,, :))#print(info)# playlist的名字作為待會下載的文件夾名字playlist_name = r.json()[playlist][name]#print(playlist_name)folder = playlist_name.split(":") # 這兩步是因為這個playlist名字有特殊符號「:」,不符合命名規則folder = "-".join(folder)#print(folder)# 創建文件夾if not os.path.exists(folder): os.mkdir(folder)#print(path)# 下載歌曲arr=r.json()[playlist][tracks]for i,song in enumerate(arr): # 這一步本來可以直接用song_name作為保存歌曲的文件名,但我這次用的這個原名實在太長了 # 而且因為清楚這個playlist所有曲子的命名規則,所以乾脆自己按規律給它們命名了 #song_name = song[name] # name = song_name+.mp3 S = ["spring","summer","autumn","winter"] N = [I,"II","III"] name = S[int(i/3)]+-+N[i%3]+.mp3 path = folder+\+name #song_id用來找到下載連接 song_id = song[id] url_api = "https://api.imjad.cn/cloudmusic/?type=song&id="+str(song_id) url_get = requests.get(url_api) mp3url = url_get.json()[data][0][url] #print(mp3url) # 下載到指定路徑 if mp3url: urllib.request.urlretrieve(mp3url,path) print(name+"downloaded")
下載結果:
封面圖片來源,侵刪
推薦閱讀:
※Merlin與網易雲音樂達成戰略合作,在線音樂平台如何連接用戶?
※|第三十期| · 網易雲音樂熱評
※雲音樂和華研國際宣布達成戰略合作