宣告:以下介面僅限於學習使用,嚴禁用於商業用途
推薦歌單
url: https://u.y.qq.com/cgi-bin/musicu.fcg?callback=recom3477297233556247&
g_tk=1278911659&
jsonpCallback=recom3477297233556247&
loginUin=0&
hostUin=0&
format=jsonp&
inCharset=utf8&
outCharset=utf-8¬ice=0&
platform=yqq&
needNewCode=0&
data={"comm":{"ct":24
},"category":{"method":"get_hot_category","param":{"qq":""
},"module":"music.web_category_svr"
},"recomPlaylist":{"method":"get_hot_recommend","param":{"async":1,"cmd":2
},"module":"playlist.HotRecommendServer"
},"playlist":{"method":"get_playlist_by_category","param":{"id":8,"curPage":1,"size":40,"order":5,"titleid":8
},"module":"playlist.PlayListPlazaServer"
},"new_song":{"module":"QQMusic.MusichallServer","method":"GetNewSong","param":{"type":0
}
},"new_album":{"module":"QQMusic.MusichallServer","method":"GetNewAlbum","param":{"type":0,"category":"-1","genre":0,"year":1,"company":-1,"sort":1,"start":0,"end":39
}
},"toplist":{"module":"music.web_toplist_svr","method":"get_toplist_index","param":{
}
},"focus":{"module":"QQMusic.MusichallServer","method":"GetFocus","param":{
}
}
}
引數:
- format: 資料格式
- callback:jsonp回撥函式名
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉callback引數
歌單詳情
url: https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&
json=1&
utf8=1&
onlysong=0&
disstid=3602407677&
format=jsonp&
g_tk=5381&
jsonpCallback=playlistinfoCallback&
loginUin=0&
hostUin=0&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0
引數:
- disstid: 歌單id
- format:資料格式
- jsonpCallback:jsonp回撥函式名
說明: 該介面瀏覽器不能直接請求,需要攜帶請求頭referer,值為y.qq.com/n/yqq/playl…。對於ajax來說這個請求頭是不能設定的,需要後端代理繞過限制。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
移動web端推薦頁面介面
url: https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg?g_tk=701075963&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
_=1512548815061
引數:
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 該介面從QQ音樂移動web端推薦頁面抓取的,最後一個**_**引數代表時間戳。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
最新專輯
url: https://c.y.qq.com/v8/fcg-bin/album_library?g_tk=1278911659&
hostUin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0&
cmd=firstpage&
page=0&
pagesize=20&
sort=1&
language=-1&
genre=0&
year=1&
pay=0&
type=-1&
company=-1
引數:
- page: 當前頁
- pagesize:每頁專輯數量
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
最新專輯(新)
url: https://u.y.qq.com/cgi-bin/musicu.fcg?g_tk=5381&
loginUin=0&
hostUin=0&
format=jsonp&
callback=calback&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0&
data={"albumlib":{"method":"get_album_by_tags","param":{"area":1,"company":-1,"genre":-1,"type":-1,"year":-1,"sort":2,"get_tags":1,"sin":0,"num":20,"click_albumid":0
},"module":"music.web_album_library"
}
}
引數:
- sin: 當前頁
- num:每頁專輯數量
- format:資料格式
- callback:jsonp回撥函式
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉callback引數
專輯詳情
url: https://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg?albummid=001IskfD3Vncxo&
g_tk=1278911659&
hostUin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0
引數:
- albummid:專輯id。可從專輯列表中獲取
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
歌手列表
url: https://c.y.qq.com/v8/fcg-bin/v8.fcg?channel=singer&
page=list&
key=all_all_all&
pagesize=100&
pagenum=1&
g_tk=5381&
jsonpCallback=callback&
loginUin=0&
hostUin=0&
format=jsonp&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0
引數:
- pagenum:當前頁
- pagesize:每頁數量
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
歌手詳情
url: https://c.y.qq.com/v8/fcg-bin/fcg_v8_singer_track_cp.fcg?g_tk=5381&
jsonpCallback=callback&
loginUin=0&
hostUin=0&
format=jsonp&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0&
singermid=004aRKga0CXIPm&
order=listen&
begin=0&
num=30&
songstatus=1
引數:
- singermid:歌手mid。可從歌手列表裡面獲取
- begin:當前頁
- num:每頁歌曲數量
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
排行榜
url: https://c.y.qq.com/v8/fcg-bin/fcg_myqq_toplist.fcg?g_tk=5381&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
_=1512554796112
引數:
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 最後一個引數**_**表示時間戳。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
排行榜詳情
url: https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=5381&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
tpl=3&
page=detail&
type=top&
topid=4&
_=1512563984096
引數:
- topid:排行榜id。可從排行榜介面獲取
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 最後一個引數**_**表示時間戳。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
熱搜
url: https://c.y.qq.com/splcloud/fcgi-bin/gethotkey.fcg?g_tk=5381&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
_=1513317614040
引數:
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 最後一個引數**_**表示時間戳。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
搜尋
url: https://c.y.qq.com/soso/fcgi-bin/search_for_qq_cp?g_tk=5381&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
w=%E6%AC%A7%E9%98%B3%E6%9C%B5&
zhidaqu=1&
catZhida=1&
t=0&
flag=1&
ie=utf-8&
sem=1&
aggr=0&
perpage=20&
n=20&
p=1&
remoteplace=txt.mqq.all&
_=1512564562121
引數:
- w:搜尋關鍵字
- p:當前頁
- n:每頁歌曲數量
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 在返回資料中有一個zhida欄位裡面有一個type欄位,其中0表示歌曲、2表示歌手、3表示專輯,其它值靠你們自己去猜了(2333~~~)。最後一個引數**_**表示時間戳。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
該介面不支援跨域請求
搜尋(跨域)
url: https://c.y.qq.com/soso/fcgi-bin/client_search_cp?g_tk=5381&
p=1&
n=20&
w=%E6%AC%A7%E9%98%B3%E6%9C%B5&
format=jsonp&
jsonpCallback=callback&
loginUin=0&
hostUin=0&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0&
remoteplace=txt.yqq.song&
t=0&
aggr=1&
cr=1&
catZhida=1&
flag_qc=0
引數:
- w:搜尋關鍵字
- p:當前頁
- n:每頁歌曲數量
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 在返回資料中有一個zhida欄位裡面有一個type欄位,其中1表示歌手、2表示專輯。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
獲取歌曲檔案
歌曲檔案的獲取相對來說比較的麻煩 (-_-)。先來兩個介面,稍後說明步驟
1、歌曲vkey
url: https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?g_tk=1278911659&
hostUin=0&
format=jsonp&
callback=callback&
inCharset=utf8&
outCharset=utf-8&
notice=0&
platform=yqq&
needNewCode=0&
cid=205361747&
uin=0&
songmid=000OFXjz0Nljbh&
filename=C400000OFXjz0Nljbh.m4a&
guid=3655047200
引數:
- songmid:歌曲mid。可從歌單、專輯、歌手、排行榜介面中獲取
- filename:C400 + songmid + .m4a
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: filename引數值通過songmid拼接而成。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
2、歌曲檔案
url: http://dl.stream.qqmusic.qq.com/C400000OFXjz0Nljbh.m4a?vkey=33E6799DB60508E9561F3DDAA6ED69488988B51DE791617A2E34B02A3A48E9CCBD43595DC00D796EB6768D26134AAB1C3AD192C7044DE1A1&
guid=3655047200&
fromtag=66
引數:
- vkey:通過歌曲vkey介面獲取
獲取歌曲播放地址步驟
- 先呼叫歌曲vkey介面,返回的資料如下
callback({
"code": 0, "cid": 205361747, "userip": "183.131.116.70", "data": {
"expiration": 80400, "items": [ {
"subcode": 0, "songmid": "000OFXjz0Nljbh", "filename": "C400000OFXjz0Nljbh.m4a", "vkey": "43DE397B07582DCF13E22045FEFFDE422FA830CFC3A1D894BBED28014EFF4A468D5F02040C87131221BE603CDA41DCBB4B016874ECA51A46"
} ]
}
})複製程式碼
filename欄位為歌曲檔名,vkey欄位就是獲取歌曲檔案需要的vkey了
- 使用歌曲檔案地址替換調後面的C400開頭的一截,替換調獲取的vkey
歌詞
url: https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric.fcg?g_tk=5381&
uin=0&
format=jsonp&
jsonpCallback=callback&
inCharset=utf-8&
outCharset=utf-8&
notice=0&
platform=h5&
needNewCode=1&
nobase64=1&
musicid=201773975&
songtype=0&
_=1513437581324
引數:
- musicid:歌曲id
- nobase64:不需要base64編碼的格式
- format:資料格式
- jsonpCallback:jsonp回撥函式
說明: 該介面不能直接呼叫存在請求限制,請使用後端呼叫。如不需要jsonp呼叫,將format引數值修改為json並且去掉jsonpCallback引數
總結
以上介面是最近通過QQ音樂移動web端和pc端抓取,QQ音樂官方可能會更換介面地址或者修改某些引數,不能保證其介面隨時的準確性