Python调用网易云音乐API免费下载音乐
Python调用网易云音乐API免费下载音乐

Python调用网易云音乐API免费下载音乐


作者:Harkerbest

声明:本文章为原创文章,本文章永久链接:https://www.harkerbest.cn/?p=334,转载请注明原文地址,盗版必究!!!

警告:本文章仅用于技术交流,禁止将本文章内容用于违法犯罪活动,违者后果自负!!!


  网易云音乐是一个主流的音乐平台,今天站长就给大家分享一个网易云官方提供的API接口,使用该接口我们可以很方便地免费下载所有在网易云音乐官网的非VIP歌曲,下面让我们来看教程。

接口使用方法

  • 请求地址:http://music.163.com/song/media/outer/url?id=歌曲id.mp3
  • 请求方法:get

  下面来看例子,假设现在我们需要下载歌曲《Something Just Like This》。首先我们在网易云音乐上找到该歌曲的对应网页:https://music.163.com/#/song?id=461347998。接着,我们可以看到网址最末端的一串数字,该数字就是歌曲的id(如图)。

%title插图%num

红色方框中的数字即为歌曲id

  然后,我们将歌曲的id填入API中“id=”的后面,访问该API,即可播放该音乐,同时也可以在浏览器中直接下载该音乐。

Python自动下载音乐

  如果我们有一个歌单,我们把歌单上面每一首歌的id都爬取下来,接下来该如何下载呢?其实很简单,使用Python的第三方库requests(使用前需要在命令提示符或Linux终端执行pip install requests安装)发出get请求获取歌曲的二进制文件,接着再用Python自带的文件读写将二进制文件保存为mp3格式即可,具体代码如下:

 import requests#导入requests库
 url_api='http://music.163.com/song/media/outer/url?id={}.mp3'
 id='461347998'#歌曲的id
 url=url_api.format(id)#合成下载地址
 headers={#加入请求头模拟浏览器浏览以防止网易云拦截
     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
     'Referer':'http://music.163.com/'
     }
 song=requests.get(url,headers=headers).content#获取歌曲的二进制编码
 with open('test.mp3','wb') as f: #将二进制编码写入磁盘保存为mp3格式
     f.write(song)

  运行代码后歌曲会自动保存到py文件所在目录内

结语:

  到这里教程就结束了,不过提醒一下大家不要滥用这个API接口以避免不必要的麻烦。不知道这篇教程帮到你没有呢?如果觉得这篇文章对你有帮助,请转发给更多有需要的人,谢谢!

一条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHAis initialing...