程序员

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

2018-11-11  本文已影响8人  564ff82e0577

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

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

趁机打个广告(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

如有错误请说明

仅供参考学习

上一篇下一篇

猜你喜欢

热点阅读