网易云旧版 API 总结
声明:本文提及的一切 API、算法、秘钥等内容均为本人靠聪明的大脑猜解而得,没有对任何软件进行任何反编译等违反软件使用协议的行为
本文所提及 API 来自网易云音乐 Windows 客户端。具体版本会在下文说明。失效链接会单独说明。
另外,返回的数据是 json 格式,简单易懂,请大家自行解析,本文不再赘述。
一、PC-1.0.0 Beta
1.获取评论:
http://music.163.com/api/resource/comments/R_SO_4_{song_id}/?rid=R_SO_4_{song_id}&offset={offset}&total=true&limit={limit}
所需 cookie: os=pc
字段解释:
song_id:乐曲 id
offset:评论偏移量,返回从第 offset 个开始的评论
limit:数量限制,共返回 limit 个评论
2.获取专辑详情
http://music.163.com/api/album/{album_id}?ext=true&id={album_id}&offset={offset}&total=true&limit={limit}
cookie 同上,字段解释类似。
3.获取歌单详情
http://music.163.com/api/playlist/detail?id={playlist_id}&offset={offset}&total=true&limit={limit}
cookie 同上,字段解释类似。
4.歌手相关
4.1 获取歌手信息及其热门歌曲
http://music.163.com/api/artist/{artist_id}?ext=true&top=50&id={artist_id}
4.2 获取歌手的所有专辑
http://music.163.com/api/artist/albums/{artist_id}?id={artist_id}&offset={offset}&total=false&limit={limit}
cookie同上,字段解释类似。
5.歌曲相关
5.1获取歌词
在这个版本的云音乐软件中,此 API 可能是一个同时获取歌曲的 mp3 文件链接和歌词的 API,但是现在 mp3 文件链接已不再返回,只返回歌词
http://music.163.com/api/song/media?id={song_id}
cookie同上,字段解释类似。
二、 PC-1.5.0
1.搜索
1.1 搜索结果
POST请求,
http://music.163.com/api/search/pc
请求体:
格式为 URL 编码后的 form(x-www-form-urlencoded)
内容为:hlpretag=<span class="s-fc2">&hlposttag=</span>&s={search_content}&offset={offset}&total=true&limit={limit}&type={type}
cookie同上,字段解释类似。offset默认为0,limit默认为100.
type项选择搜索类型
1:歌曲;10:专辑;100:歌手;1000:歌单;1002:用户;
1006:歌词;1009:主播电台
1.2 搜索建议
POST请求,
http://music.163.com/api/search/suggest/web
请求体:
格式同上,内容:s={search_content}&limit={limit}
cookie同上,字段解释类似。limit默认值为6。
2.评论
http://music.163.com/api/v1/resource/comments/R_SO_4_{song_id}?rid=R_SO_4_{song_id}&offset={offset}&total=true&limit={limit}
cookie同上,字段解释类似。limit默认为20.
3.歌曲信息及 mp3 文件地址
http://music.163.com/api/song/detail/?ids=%5B{song_id}%5D
注:这个 API 返回的 mp3 文件地址只是最低级的 96kbps 的 mp3 文件。此 json 内包含了不同音质各自对应的dfsID一项, 用于下载对应的高音质 mp3 文件。
此处附上由 dfsID 获取 mp3 文件 URL 的 Python 代码:
1 | |
对于在网页端提示"由于版权原因无法播放"的音乐,此方法无效。
不需要cookie.
4.歌词
http://music.163.com/api/song/lyric?os=pc&id={song_id}&lv=-1&kv=-1&tv=-1
不需要cookie.