美文网首页程序员
调用QQ音乐API,搭建一个简单的音乐下载站网站

调用QQ音乐API,搭建一个简单的音乐下载站网站

作者: 564ff82e0577 | 来源:发表于2018-11-11 21:59 被阅读8次

    在这里记录一下学习的历程。

    心血来潮想做一个无损音质下载的网站,于是就有了此贴。

    趁机打个广告(http://haimusic.top)

    传送门


    首先想要实现下载功能首先得有曲库,所以就盯上了歌比较全的QQ音乐,想偷一下接口。百度一番还真有很多帖子详细介绍了一下接口,可谓是一应俱全!下面就记录一下接口。

    搜索能力

    https://c.y.qq.com/soso/fcgi-bin/client_search_cp?format=json&t=0&loginUin=0&inCharset=GB2312&outCharset=utf-8&qqmusic_guid=31EEDA20AEDF86B10B866C71734C2A0B&qqmusic_ver=1598&catZhida=1&p={1}&n={2}&searchid=B15773D8A9D54EE78614225A6F81406318572&w={0}&flag_qc=0&remoteplace=sizer.newclient.song&new_json=1&auto=1&lossless=0&aggr=1&cr=1&sem=0&force_zonghe=0&pcachetime=1532599754

    上POSTMAN 看一下参数

    {0}是搜索的关键字

    {1}是搜索页数

    {2}是每页返回的歌曲数

    Get请求没有什么特殊的地方,直接调用就行了

    搜索能力

    返回的数据解析

    挑几个重点数据说明一下

    list是个数组

    data.song.list[].name (歌曲名称)

    data.song.list[].singer (歌手数组)

    data.song.list[].album.name (专辑名称)

    data.song.list[].album.name.mid (专辑id)

    data.song.list[].interval (歌曲时长)

    data.song.list[].time_public (发行日期)

    data.song.list[].id (歌曲ID)

    歌词能力

    http://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?callback=MusicJsonCallback_lrc&pcachetime=1494070301711&songmid={0}&g_tk=5381&jsonpCallback=MusicJsonCallback_lrc&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8?ice=0&platform=yqq&needNewCode=0

    {0}是上面取得的 歌曲id

    歌词接口

    注意歌词接口需要携带设置header

    Accept = "*/*";

    Referer = "http://y.qq.com/portal/player.html"

    "Accept-Language", "zh-CN,zh;q=0.8"

    "Cookie", "tvfe_boss_uuid=c3db0dcc4d677c60; pac_uid=1_2728578956; qq_slist_autoplay=on; ts_refer=ADTAGh5_playsong; RK=pKOOKi2f1O; pgv_pvi=8927113216; o_cookie=2728578956; pgv_pvid=5107924810; ptui_loginuin=2728578956; ptcz=897c17d7e17ae9009e018ebf3f818355147a3a26c6c67a63ae949e24758baa2d; pt2gguin=o2728578956; pgv_si=s5715204096; qqmusic_fromtag=66; yplayer_open=1; ts_last=y.qq.com/portal/player.html; ts_uid=996779984; yq_index=0"

    会返回一个json数据,包括原歌词和中文歌词。

    data.lyric (原歌词)

    data.trans (歌词翻译)

    接下来就是最关键的部分了播放功能

    播放能力

    需要获取一个关键的vkey。

    VKEY

    http://base.music.qq.com/fcgi-bin /fcg_musicexpress.fcg?json=3&loginUin=0&format=jsonp&inCharset=GB2312&outCharset=GB2312&notice=0&platform=yqq&needNewCode=0

    合成歌曲播放url

    "http://dl.stream.qqmusic.qq.com/"+prefix+musicId+ "."+extension +"?guid=2095717240&vkey="+vkey+"&uin=0&fromtag=53                   

    参数有以下

    标准音质:

    prefix = "M500";

    extension = "mp3";

    高品质音质:

    prefix = "M800";

    extension = "mp3";

    无损音质:

    prefix = "F000";

    extension = "flac";

    这样就实现了歌曲播放能力

    封面接口

    非常简单

    https://y.gtimg.cn/music/photo_new/T002R{0}x{1}M000' + {2} + '.jpg?max_age=2592000

    {0}{1}代表长宽

    {2}歌曲 id


    本文参考了:大象已无形

    本文参考了:  TwilightLemon

    如有错误请说明

    仅供参考学习

    相关文章

      网友评论

        本文标题:调用QQ音乐API,搭建一个简单的音乐下载站网站

        本文链接:https://www.haomeiwen.com/subject/cysffqtx.html