您好,登錄后才能下訂單哦!
小編給大家分享一下Python下載網易云歌單歌曲的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
今天寫了個下載腳本,記錄一下
效果:
直接上代碼:
# 網易云 根據歌單鏈接下載MP3歌曲 import requests from bs4 import BeautifulSoup def main(): url = "https://music.163.com/#/playlist?id=3136952023" # 歌單地址 請自行更換 if '/#/' in url: url = url.replace('/#/', '/') headers = { 'Referer': 'http://music.163.com/', 'Host': 'music.163.com', 'cookie': '自己去網站拿,獲取方式在下邊', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', } s = requests.session() try: response = s.get(url, headers=headers).content soup = BeautifulSoup(response, 'lxml') lis = list(soup.find('ul')) fatherlis = ['歌單名:' + str(soup.find('h3').string)] for i in lis: sonlis = [] sonlis.append(str(len(fatherlis)) + '.') sonlis.append(i.a.string) sonlis.append(str(i.a.get('href'))[str(i.a.get('href')).find('=') + 1:-1] + str(i.a.get('href'))[-1]) fatherlis.append(sonlis) except: print("\n\t歌曲鏈接輸入錯誤") exit('ERROR!') format = '{0:<10}\t{1:{3}<10}\t{2:<10}' print("從'{}'中找到了{}條歌曲".format(str(soup.find('h3').string), len(fatherlis) - 1)) print('-------------------------------------------------------------------------------------------------') print('序號 歌曲名稱 歌曲鏈接') for i in fatherlis: if fatherlis.index(i) == 0: continue else: print( format.format(i[0], i[1], 'http://music.163.com/song/media/outer/url?id=' + i[2] + '.mp3', chr(12288))) download_music(i[2],i[1]) print('##########################下載完成##########################') # 歌曲下載 def download_music(song_id,song_name): file = "./music/" # 保存音樂的文件路徑 wurl = "https://link.hhtjim.com/163/" # 外鏈地址 song_url = wurl + song_id + ".mp3" # 獲取歌曲16進制編碼 song = requests.get(song_url).content # 獲取歌曲名稱 # 保存文件 with open(file + song_name + '.mp3', 'wb') as f: f.write(song) if __name__ == '__main__': main()
cookie獲取方式
登錄網易云web版 https://music.163.com/
復制粘貼到上方代碼中,開始下載就好了
看完了這篇文章,相信你對Python下載網易云歌單歌曲的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。