QQ音樂API整理
阿新 • • 發佈:2018-12-06
由於在網上看過很多音樂API都是一半可以用不是很全,有的API有經過改動,造成無法訪問,今天來個大家總結一下QQ音樂的API,可能還不是很全,僅供參考,但親測可用,資料獲取方式用的都是jquery的jsonp形式獲取資料,歌詞除外:
## 歌曲資訊搜尋:
var songName='青花瓷';//歌曲或者歌手名字
$.ajax({
url:"http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0& n=5&aggr=1&cr=1&loginUin=0& inCharset=GB2312&outCharset=utf-8¬ice=0& platform=jqminiframe.json&needNewCode=0&p=1&catZhida=0& remoteplace=sizer.newclient.next_song&w=" +songName,
type:"get",
// async:false,
dataType:'jsonp',
jsonp: "jsonpCallback",
success: function(data){
var json=data.data.song;
root.song=json.list;
},
error:function (e) {
console.log('error' );
}
});
## 跨域成功後會看到跨域接受到的資料其中有個f屬性:
f:"410316|青花瓷 (;)|4558|周杰倫|33021|我很忙|1942555|239|8|1|0|9573872|3836490|320000|0|25541938|26237796|5414428|5617369|0|002qU5aY3Qu24y|0025NhlN2yWrP4|002eFUFm2XYZ7z|0|4009"
f屬性中以“|”為分隔符索引為0位置為歌曲id用來獲取歌曲和歌詞,索引為4位置為albumId獲取對應的專輯圖片,例子如下:
## 歌曲mp3獲取
var id = "410316" ;
var src = "http://ws.stream.qqmusic.qq.com/"+id+".m4a?fromtag=0";
## 可以直接聽到音樂
<audio src="http://ws.stream.qqmusic.qq.com/410316.m4a?fromtag=0" controls="controls" ></audio>
## 歌曲專輯圖片獲取,圖片尺寸300*300,jpg格式
var albumId="33021";
var src="http://imgcache.qq.com/music/photo/album_300/"+(albumId%100)+"/300_albumpic_"+albumId+"_0.jpg";
## 歌詞獲取,這部分比較不同由於獲取的資料格式不是json而是xml格式,網上看到的方法是另寫一個php進行獲取,但我們是寫純前端可以用另一種方法,例子如下:
var id = "410316";
var txt="http://music.qq.com/miniportal/static/lyric/"+id%100+"/"+id+".xml";
var YqlUrl='http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D"'+txt+'"&format=json&diagnostics=true&callback=?'
$.getJSON(YqlUrl,function(data) {
console.log(data);//獲取的xml資料
});
## 歌曲排行、新歌推薦資訊獲取url如下:
// 新歌推薦:http://music.qq.com/musicbox/shop/v3/data/hit/hit_newsong.js
// 歌曲排行:http://music.qq.com/musicbox/shop/v3/data/hit/hit_all.js
## 同樣用jquery的jsonp可以很容易獲取到,如果要進一步獲取這些歌曲資訊的歌曲mp3、歌詞以及專輯圖片方法和上面一樣,獲取的json資料中就帶有id和albumId。
albumId:"139643"
albumLink:"/musicbox/shop/v3/album/43/album_139643.htm"
albumName:"身邊的故事"
id:"1913719"
playtime:"268"
singerId:"12770"
singerName:"關喆"
songName:"想你的夜"
type:3
url:"http://stream3.qqmusic.qq.com:0/1913719.wma"