复制代码前请阅读:
歌曲id获取:
点开其中一首歌,url后面的就是歌曲id,对应代码song_id
https://music.163.com/#/song?id=1999303437
网易云下载外链:
### 'http://music.163.com/song/media/outer/url?id={歌曲id}.mp3'
import os.path
import requests
def get_mp3(song_id, song_name):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"
}
url = f'http://music.163.com/song/media/outer/url?id={song_id}.mp3'
print("获取下载网页为: ", url)
print("正在下载:", song_name)
try:
response = requests.get(url, headers=headers)
filename = song_name + ".mp3"
with open('D:/网易云音乐下载库/' + filename, 'wb') as f:
f.write(response.content)
print(f"\033[31m{song_name}\033[0m下载成功!")
print('音乐文件保存在D:/网易云音乐下载库')
except:
print('下载失败')
if __name__ == "__main__":
if not os.path.exists('D:/网易云音乐下载库'): # 可以自定义文件保存的路径
os.mkdir('D:/网易云音乐下载库')
while True:
song_id = input("输入您想要下载的网易云音乐的链接音乐Id部分,即id=")
song_name = input("输入音乐名字:")
get_mp3(song_id, song_name)
answer = input('是否需要继续下载?y/n\n')
if answer == 'y':
continue
else:
break # 退出循环