怎么使用QQ音乐api搭建个人音乐站点
怎么使用QQ音乐api搭建个人音乐站点
最近经常有人在oschina上追问怎么用QQ音乐接口的问题。
闲得无聊,重新折腾了一下网页版QQ音乐压缩版源码,整理了一个完整音乐站点搭建的过程。
https://y.qq.com/
话不多说,主要分三步,直接上菜。
1.搜索音乐结果。
2.解析结果,拿到f,解析f
3.获取音乐权限vkey
1⃣️. 首先想去拿音乐,以搜索音乐结果为例。qq音乐api接口是:http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0&n={你的pageSize}&aggr=1&cr=1&loginUin={QQ号码}&format=json &inCharset=GB2312&outCharset=utf-8 ¬ice=0 &platform=jqmi niframe.json&needNewCode= 0&p={当前页码}&catZhida=0 &remoteplace=sizer.newclient.next_song&w={搜索关键字}
例:直接get请求
http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0&n=3&aggr=1&cr=1&loginUin=123456&format=json&inCharset=GB2312&outCharset=utf-8¬ice=0&platform=jqminiframe.json&needNewCode=0&p=1&catZhida=0&remoteplace=sizer.newclient.next_song&w=刚好遇见你
response: res.data.song.list 就是返回的音乐列表。
**(这里qq音乐的这个接口需要通过服务器端请求,直接浏览器去拿会跨域问题。或者用爬虫)
以其中一个对象为例:
获取 f 属性
“5002383|声音|131|费玉清;李代沫|435987|声音|2102982|223|7|1|0|8959705|3584855|320000|0|0|0|4909876|5329730|0|000wbmA44e4VEM|0040MELG3TS8OW|000yT4Tj0zs7VP|0|4009“
2⃣️.解析结果:先把f属性拆分成一个数组方便取数据。
var data = f.split("|");
var img =data[22];//000yT4Tj0zs7VP
//获取音乐ID··
var musicId = data[20];//000wbmA44e4VEM,下一步会用到
//获取音乐封面```
var musicIcon = 'http://imgcache.qq.com/music/photo/mid_album_90/'+ img.charAt(img. length-2)+'/'+img.charAt(img.length-1)+'/'+img+'.jpg';
3⃣️.获取音乐权限vkey:
利用ajax jsonp方式请求:
http://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=123456
这里guid和获取musicId时候的传的loginUin={QQ号码} 保持一致
var musicId = {上一步中的获得的musicId}
$.ajax({type:"get",url:"http://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=123456",dataType:"jsonp",jsonpCallback:"jsonCallback"
}).done(function(rs){var key =rs.key //成功获取到vkey;var musicURI = 'http://ws.stream.qqmusic.qq.com/C200'+musicId+' .m4a?vkey='+res.key+'&guid=123456&fromtag=30';$("body").append('<audio class="hide" id="sound" src="'+musicURI+'" controls="controls"></audio>');document.getElementById("sound").play();//到此完成
});
详情见代码。
tips:请不要用于商业途径获利,仅供参考与技术交流分享
练手demo地址:http://www.cqudingx.xyz/jade/chat
怎么使用QQ音乐api搭建个人音乐站点相关推荐
- 音乐api搭建php音乐下载,百度音乐api接口
百度音乐全接口 会利用使用接口找歌简单又快捷 http://tingapi.ting.baidu.com/v1/restserver/ting 获取方式:GET 参数:format=json或xml& ...
- Vue实现仿音乐播放器11-实现访问百度音乐API实现播放音乐功能
场景 从今日推荐页面点击某首歌曲会将这首歌曲的songid通过路由传递到播放界面, 播放界面调用百度音乐接口实现数据的获取以及音乐的播放. 效果 实现 配置路由 首先在pages目录下新建musicp ...
- Vue实现访问百度音乐API实现播放音乐功能
场景 从今日推荐页面点击某首歌曲会将这首歌曲的songid通过路由传递到播放界面, 播放界面调用百度音乐接口实现数据的获取以及音乐的播放. 效果 实现 配置路由 首先在pages目录下新建musicp ...
- 『Python』网易云音乐API爬虫(音乐搜索音乐播放)
前言 永远相信美好的事情即将发生 背景 一直想做一个在线的音乐播放器,这个想法最早可以追溯到做毕设的那会,那时候做了个在线的商城系统, 里面有个在线听歌的模块,其实就是调用大佬们封装好的API进行搜索 ...
- 整理一份API接口,包括音乐API,图片API,聚合API等等
音乐: MessAPI(支持网易QQ酷狗酷我咪咕百度) QQ音乐API 网易云音乐 NodeJS 版 API 自己动手开发QQ音乐api调用教程 自己动手开发网易云音乐api调用教程 图片: Unsp ...
- 使用豆瓣音乐API笔记
蓝字是链接 豆瓣API V2 API地址: 上面不能用的话,可以试试这个 我这里用的是豆瓣音乐API: 获取音乐 GET https://api.douban.com/v2/music/:id 返回音 ...
- js封装QQ音乐api
QQ音乐api文档地址:QQ音乐api文档 封装好后的api文件地址:需要引入请求封装文件-/ajax.js https://github.com/1015770492/yumbo-vue/blob/ ...
- qq音乐mp3解析php源码,QQ音乐API
QQ音乐API搜索歌曲API: &aggr=1&cr=1&loginUin={3}&format=json&inCharset=GB2312&outCh ...
- 网易云音乐/QQ音乐API更新,支持多音质切换/MV获取
自从上一版开源过后到现在音乐接口的调用量已经达到了快100W,但是最近由于网易云的更新,导致部分接口不能使用,最近在工作之余抽出时间把API重写. 本次API版本不再使用PHP,使用Java,相比以前 ...
- 【QQ音乐Api】移花接木 打造自己的音乐电台
为什么80%的码农都做不了架构师?>>> 最近突发奇想想做个在线音乐小网页.需求很简单,如下 搜索歌曲 或 歌手 在线播放音乐 借用qq 或者 百度的 音乐接口 需求明确那就直 ...
最新文章
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
- 为什么使用HashMap需要重写hashcode和equals方法_java常见面试题敲黑板了,HashMap最全的整理,大厂必考...
- oracle客户端没有装exp,oracle 10G 客户端安装后,尝试 exp 命令报错, 求解
- 【数理知识】co-inner-outer factorizations
- c语言实现连续几个bit位置1,【C语言简单说】四:常量
- 产品操作-查询全部产品
- 计算机文化基础第二章,计算机文化基础(第二章Windows2000操作系统)
- npm ERR! code ENOENT npm ERR! syscall open npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file
- 【skimage.util.shape】有关view_as_windows裁剪数组及恢复的简单尝试
- 数字电子技术基础-阎石老师版本-学习记录
- 基于springboot,vue图书管理系统
- 关闭计算机主机还亮着,Win10系统电脑关机后主机电源灯依然亮着的解决方法
- python 好用的库_12个超好用的Python库,都帮你们整理好了!
- 大淘客的index.php,index.php · zenozhengs/大淘客CMS底部菜单修改版 - Gitee.com
- 会话技巧---英文单词
- 2023年广东数据分析师CPDA认证招生简章(理论+实战)
- 一致性哈希算法的解析与实现
- Java设计模式之工厂模式篇 (转)
- Guava 之 Multiset
- IP安全讲解(DHCP Snooping、IPSG、DAI)