博主同学在使用别人提供的网易云音乐热评接口之后,感觉请求速度过于太慢,于是找到了博主进行咨询.
于是博主在偌大的网络上翻阅不少资料后,写出了这么一个api,因资金短缺,暂时不提供演示接口,但放出源码及部分api以共广大同道中人一同学习!
<?php
header('Content-type:text/json;charset=UTF-8');
$id = isset($_GET["id"])?$_GET["id"]:"";
function music($id){
$playlist_url="https://music.163.com/api/playlist/detail?id=$id"; # 歌单api
$playlist = file_get_contents($playlist_url);
$playlist = json_decode($playlist,true);
$playlist = $playlist["result"];
$playlist = $playlist["tracks"];
$random = rand(0,sizeof($playlist)); # 根据范围给出随机参数
$name = $playlist["$random"]["name"]; # 歌曲名
$song_id = $playlist["$random"]["id"]; # 歌曲id
$blurPicUrl = $playlist["$random"]["album"]["blurPicUrl"]; # 歌曲头像
$artists_name = $playlist["$random"]["artists"]["0"]["name"]; # 歌手名字
$song_url="http://music.163.com/api/v1/resource/comments/R_SO_4_$song_id"; # 歌曲评论api
$song = file_get_contents($song_url);
$song = json_decode($song,true);
$song = $song["hotComments"]["0"];
$user_nickname = $song["user"]["nickname"]; # 用户名称
$user_avatarUrl = $song["user"]["avatarUrl"]; # 用户头像
$user_content = $song["content"]; # 用户评论
$user_content = str_ireplace("\n\r","",$user_content); # 过滤空格回车
$user_content = str_ireplace("\r\n","",$user_content); # 过滤空格回车
$info = "{
\"歌曲名\":\"$name\",
\"歌曲id\":\"$song_id\",
\"歌曲头像\":\"$blurPicUrl\",
\"歌手名字\":\"$artists_name\",
\"用户名称\":\"$user_nickname\",
\"用户头像\":\"$user_avatarUrl\",
\"用户评论\":\"$user_content\"
}";
echo $info;
}
if ($id == ""){
echo "请求格式:?id=歌单id";
}else{ music($id);}
?>
API
歌单信息
https://music.163.com/api/playlist/detail?id=歌单id
歌曲信息
http://music.163.com/api/song/detail/?id=歌曲ID&ids=%5B歌曲ID%5D
歌词
https://music.163.com/api/song/lyric?id=歌曲ID&lv=1&kv=1&tv=-1
歌曲评论
http://music.163.com/api/v1/resource/comments/R_SO_4_歌曲id
用户信息
https://music.163.com/api/v1/user/detail/用户id