最近突发奇想想做个在线音乐小网页。需求很简单,如下

  1. 搜索歌曲 或 歌手

  2. 在线播放音乐

  3. 借用qq 或者 百度的 音乐接口

需求明确那就直接动手了

我首先尝试的百度音乐,但是不能在线播放(提示forbidden),虽然不能在线播放,但是下载是可以的

百度音乐具体Api如下

1:搜索接口

$url = "http://musicmini.baidu.com/app/search/searchList.php?qword=%s&ie=utf-8&page=1";//qword就是要搜索的歌曲或者歌手
$url = sprintf( $url,urlencode($kw) );

这个其实不能算是接口了,是百度的一个页面,直接可以访问

2: 根据搜索结果得到的html字符串,然后取出song_id,使用正则表达式

3:根据song_id 获取 歌曲信息,接口如下

$url = "http://music.baidu.com/data/music/links?songIds=%s";//song_ids可以接受多个song_id,用","分割

根据截图中的song_id是623748,返回结果如下(json),其中

songName:歌曲名字

artistName:歌手

songPicBig:歌曲封面图片

songLink:歌曲地址

宝剑锋从磨砺出 梅花香自苦寒来,搞了好久发现即使得到歌曲地址,也不能在线播放,只能阵地,QQ音乐的Api相对来说非常友好,歌曲地址也没有限制播放,赞一个

QQ音乐Api需要使用的接口如下

1:搜索接口

$url = "http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0&n=%s&aggr=1&cr=1&loginUin=0&format=json&inCharset=GB2312&outCharset=utf-8&notice=0&platform=jqminiframe.json&needNewCode=0&p=1&catZhida=0&remoteplace=sizer.newclient.next_song&w=%s";
$url = sprintf( $url,$page_size,urlencode($kw) );

参数n:每页多少个

参数w:搜索的歌曲 或者 歌手

例如我们搜索 王菲,每页5个,结果如下(json)

属性f中以"|"分割,有两个个重要的值,截图中画红线的地方

song_id:第1个,截图中的104776135

image_id:第5个,截图中的1181501

2:根据song_id 找歌词

"http://music.qq.com/miniportal/static/lyric/".($song_id%100)."/{$song_id}.xml";

其中有个参数根据song_id 求mo

3:根据image_id 找歌曲封面图片

"http://imgcache.qq.com/music/photo/album_{$width}/".($image_id%100)."/{$width}_albumpic_{$image_id}_0.jpg";

其中有个参数也是根据image_id 求mo的

width参数指定图片宽度

4:根据song_id 找歌曲地址

"http://tsmusic24.tc.qq.com/{$song_id}.mp3"

根据以上4步走,就ok了

在线音乐网站截图展示,也可以在线试试:QQ音乐资源搜索

感兴趣的可以关注我的微信服务号玩玩

PS:本人自己实现的音乐网站,还是用了一个接口,就是根据song_id 获取歌曲详情的,由于怕人多被封了,如有人需要请直接联系我

本人在实施的过程中参考过另一个公众号 微点歌:vdiange

原文地址:【QQ音乐Api】移花接木 打造自己的音乐电台
标签:music   音乐   qq音乐api   百度音乐api

智能推荐

【QQ音乐Api】移花接木 打造自己的音乐电台的更多相关文章

  1. QQ音乐API

    今天分享的是QQ音乐API 搜索歌曲API:http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0& amp;n={2}&am ...

  2. QQ音乐API分析记录

    我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API. 前不久发现QQ音乐出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时 ...

  3. 调皮的QQ音乐API:修复无法获取歌单

    上一篇完整版:http://www.cnblogs.com/TwilightLemon/p/7076938.html QQ音乐的API真是太调皮了,获取歌单的API又更换了好多次,喵喵喵 旧版API( ...

  4. 网易云和QQ音乐api

    最近有点闲,听歌的时候遇见好听的想下载却遇到尴尬的事,版权!唉,知道我干什么了吧 网易云音乐 获取排行榜中的歌曲列表 https://music.163.com/discover/toplist?id ...

  5. 使用浏览器抓取QQ音乐接口(歌曲篇)

    前言 前面我们获取了歌曲的排行榜的数据,我们现在需要实现歌曲播放 前面我们写了一段函数来得到了回调的数据,现在我们需要使用这一段数据,来实现播放歌曲 完整代码 <!DOCTYPE html> ...

  6. QQ音乐的各种相关API

    QQ音乐的各种相关API 分类: oc2014-01-29 15:34 2676人阅读 评论(2) 收藏 举报 基本上论坛里做在线音乐的都在用百度的API,进来发现百度的API不仅歌曲的质量不可以保证 ...

  7. 音乐API之QQ音乐

    欢迎大家来到我的博客,这是我在博客园写的第一篇文章,但不会是最后一篇,希望大家多多关注我,支持我哦!正文开始,今天我们要讲的是QQ音乐的API,都是来源于官方的地址,以前我也想写一个,但百度谷歌之后都 ...

  8. QQ音乐无损歌曲接口api

    1.打开QQ音乐官网 y.qq.com 2.选择你要的歌曲,进入后查看网址,以虎口脱险这个歌曲为例:http://y.qq.com/#type=song&mid=000Ib8E71sUNi7 ...

  9. QQ音乐接口api,包括付费音乐、无损音乐、高品质音乐地址解析接口api

    QQ音乐网站所有音乐(包括付费.无损等版权音乐解析接口地址url). mp3 普通高品 http://dl.stream.qqmusic.qq.com/M5000012gqVh4fFvVK.mp3?v ...

随机推荐

  1. spring实战六之使用基于java配置的Spring

    之前接触的都是基于XML配置的Spring,Spring3.0开始可以几乎不使用XML而使用纯粹的java代码来配置Spring应用.使用基于java配置的Spring的步骤如下: 1. 创建基于ja ...

  2. 矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence

    题目传送门 /* 题意:加上适当的括号,改变计算顺序使得总的计算次数最少 矩阵连乘积问题,DP解决:状态转移方程: dp[i][j] = min (dp[i][k] + dp[k+1][j] + p[ ...

  3. python 代码片段4

    #coding=utf-8 # 任何等于0的数值被认为是False,所有非零的数字被认为True, # 空的容器为False,飞控容器酒味True. download_complete=False p ...

  4. C#线程间同步无法关闭

    用C#做了个线程间同步的小程序,但每次关闭窗口后进程仍然在,是什么原因? 解决方法: 要加一句 线程.IsBackground = true; 否则退出的只是窗体 上面的方法没看懂... MSDN上说 ...

  5. 【BZOJ】1452: [JSOI2009]Count

    http://www.lydsy.com/JudgeOnline/problem.php?id=1452 题意:n×m的矩阵上每个点有个颜色,现在有q个操作:1 x y c 将点(x,y)的颜色改为c ...

  6. xubuntu12.04配置

    更改源:我用上海交通大学的 首先备份Ubuntu12.04源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup   #(备份下当前 ...

  7. wc2016总结

    因为我太弱了,高一才第一次来wc. 前几天讲课,被各种小学微积分和初中高等代数虐,简直naive.只好自己做做bzoj,想着练练模板之类的东西. 考试当天自觉状态不错,翻开试题感觉各种神奇(这难道是串 ...

  8. Spring声明式事务配置管理方法

    环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可.添加方法: 点击项目右键->Build Path->Add ...

  9. insertAdjacentHTML和insertAdjacentText方法

    IE的DHTML对象提供了四个可读写的属性来动态操作页面元素的内容:innerText, outerText, innerHTML, outerHTML. 需注意两点: 1. 其中innerText, ...

  10. [HihoCoder] Highway 高速公路问题

    Description In the city, there is a one-way straight highway starts from the northern end, traverses ...