QQ音乐API分析
2021-05-14 02:28
标签:qq音乐 QQ音乐API分析 说明:此API主要针对移动端直接调用QQ音乐API用,API只能在QQAPP内执行,上线时间尚短。 http://y.qq.com/m/api/api.html 说明: 根据官网https://y.qq.com/分析的API,经过测试,可以使用,测试demo如下,demo流程 1、首先根据关键字搜索歌曲》获取播放key》获取播放地址播放 https://192.168.60.50:8443/admin/public/music 经分析,也可不用获取播放key,先分类,排行榜》获取歌曲》获取单曲播放地址播放 自己分析api的优缺点 优点:API可直接js跨域直接调用,也可java二次封装,以restful方式提供出去,灵活方便 缺点:API有些参数不明确,接口更新变动情况不明,根据以前来看,2015年的接口,到现在基本可用。 以下的自己分析的部分api以及其他资源 https://c.y.qq.com/splcloud/fcgi-bin/gethotkey.fcg?g_tk=5381&jsonpCallback=hotSearchKeysmod_top_search&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 说明:版本更新说明 示例: https://y.qq.com/download/download.js?loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 地址:https://c.y.qq.com/soso/fcgi-bin/client_search_cp 说明:根据关键字搜索返回歌曲列表、专辑、歌手等信息 主要参数: w:关键字 p:页码,从1开始 n:当前页的数据条数 示例: https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.center&searchid=37602803789127241&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=20&w=%E5%88%98%E5%BE%B7%E5%8D%8E&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 地址:https://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg 说明:根据专辑ID搜索歌曲 主要参数: albummid:专辑ID 示例: https://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg?albummid=002LiyZW27dGjC&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_opt.fcg?page=index&format=html&tpl=macv4&v8debug=1&jsonCallback=jsonCallback 参数说明: page=index 表示这是排行榜的首页 format=html 返回格式是html debug:debug=1为调试模式,直接返回跨域json格式,其他值直接返回html页面 jsonCallback:此参数可有可无 此接口不能直接返回json格式,只能返回jsonp格式 返回数据格式是jsonp,可直接用jquery调用此接口回去数据 //JQuery JSONP Support varurl = "http://192.168.0.103:12075/api/test.aspx?id=1&callback=?"; jQuery.getJSON(url, function(data){ // 处理返回的json 数据 alert("name:" + data.name+ ", Price:" +data.price); }); 90x90的小图 https://y.gtimg.cn/music/photo_new/T002R90x90M0000032gbwN4J7f7c.jpg?max_age=2592000 300x300的大图 https://y.gtimg.cn/music/photo_new/T002R300x300M0000032gbwN4J7f7c.jpg?max_age=2592000 专辑图片文件名解析 T002R:未知 300x300或90x90:图片大小 M000:未知 0032gbwN4J7f7c:专辑ID .jpg:图片后缀 主要参数: date:查询日期 如果排行榜是按天统计,日期统计到昨天,格式为“2017-09-12” 如果排行榜是按周统计,统计到上周的星期四,格式为“2017_36”,标示2017年的第36周 具体怎么取,主要取“排行榜分类”接口返回的“update_key”字段值 song_begin:歌曲开始标记,从0开始 song_num:歌曲数量 topid:排行榜ID https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?tpl=3&page=detail&date=2017-09-12&topid=4&type=top&song_begin=0&song_num=30&g_tk=5381&jsonpCallback=MusicJsonCallbacktoplist&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 地址:https://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg 说明:此API获取的KEY暂时没用到,猜测可能是已经过期的API 主要参数:guid:随机数,按一定规则生成,具体参考“guid生成规则” 示例:https://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=8383045540&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=GB2312¬ice=0&platform=yqq&needNewCode=0 地址:https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg 说明:获取播放音乐的vkey,关键API 主要参数: guid:随机数 songmid:歌曲ID filename:歌曲文件名,按一定规则生成,具体参考:“歌曲文件名生成规则” 示例: https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?g_tk=5381 &loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0&cid=205361747&uin=0&songmid=001Qu4I30eVFYb&filename=C400001Qu4I30eVFYb.m4a&guid=8383045540 https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songmid=004gPqc32etVgm&tpl=yqq_song_detail&format=jsonp&callback=getOneSongInfoCallback&g_tk=5381&jsonpCallback=getOneSongInfoCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 主要参数: songmid:歌曲id https://c.y.qq.com/rcmusic/fcgi-bin/fcg_iphone_music_rec_songlist?jsonpCallback=musicRecSongListCallback&cid=338&ct=20&songid=5110311&uin=10000&p=0.3702123376466666&g_tk=5381&jsonpCallback=musicRecSongListCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 地址:http://dl.stream.qqmusic.qq.com/歌曲文件名 说明:实际上是带上vkey的文件路径,可放在html5音频标签中播放 主要参数: vkey:通过“获取vkey”API,取得 guid:按一定规则生成 fromtag:不知道是怎么取得,目前取固定值66,取得以后存一个cookie(名称为qqmusic_fromtag) 示例: http://dl.stream.qqmusic.qq.com/C400003OUlho2HcRHC.m4a?vkey=49B4DE20FEE0838FF6DBD07FE9925236361D5660C24BADBA91618A7D69A99F4F3754DE863CD187FD360A659795B5817D46B9D5B6C60E0782&guid=8383045540&uin=0&fromtag=66 无返回值,打开链接直接播放 https://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg?albummid=0032gbwN4J7f7c&g_tk=5381&jsonpCallback=getAlbumInfoCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 https://c.y.qq.com/qzone/fcg-bin/fcg_mv_getinfo_bysongid.fcg?utf8=1&mids=0021SIVy2hJFCT&uin=10000&p=0.26223891580381453&g_tk=5381&jsonpCallback=JsonCallback&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 mids:歌曲的ID(songmid) 返回信息: JsonCallback({"code":0,"reportcode":0,"subcode":0,"num":1,"mvlist":[{"songmid":"0021SIVy2hJFCT","songid":203785058,"mvid":1364014,"mvvid":"t0024qgbzmj"}]}) https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric.fcg?nobase64=1&musicid=203785058&callback=jsonp1&g_tk=5381&jsonpCallback=jsonp1&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0 主要参数: musicid:歌曲ID(songid) function getGuid() { var t = (newDate).getUTCMilliseconds(); return _guid = Math.round(2147483647 * Math.random()) * t % 1e10; } guid为设置为cookie,获取guid的时候首先从cookie中获取,此cookie过期时间为2038年 document.cookie ="pgv_pvid=" + guid + "; Expires=Sun, 18 Jan 2038 00:00:00 GMT;PATH=/;"; 说明:c100、c200、c300、c400为固定值,测试用的是c400;.m4a是歌曲文件名后缀 C100+歌曲ID+.m4a C200+歌曲ID+.m4a C300+歌曲ID+.m4a C400+歌曲ID+.m4a 其他接口略,可在官网实时抓取。。。。。。。。。。。。。。。。。。。。。。。。。。。。 播放核心JS https://y.gtimg.cn/music/portal/js/common/pkg/player_module_b5739d0.js 新歌榜:http://music.qq.com/musicbox/shop/v3/data/hit/hit_newsong.js 总榜:http://music.qq.com/musicbox/shop/v3/data/hit/hit_all.js 本文出自 “无法言喻” 博客,请务必保留此出处http://limeixiong.blog.51cto.com/1888920/1965641 QQ音乐API分析 标签:qq音乐 原文地址:http://limeixiong.blog.51cto.com/1888920/1965641
官网提供API
分析的API
获取热词列表
获取版本更新日志
根据关键字搜索歌曲
根据专辑搜索歌曲
排行榜分类
专辑图片
获取排行榜前多少条歌曲
获取key
获取vkey
获取单曲播放地址
获取热门包含此歌曲的热门歌单
播放歌曲
获取专辑简介
获取歌曲MV信息
获取歌词
guid生成规则
歌曲文件名生成规则
其他相关资料