当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,告诉你个秘密,百度有个不公开的API

http://box.zhangmen.baidu.com/x?op=12&count=1&title=一直想着他$$庄心妍$$$$
用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML:

<result>
<count>1</count>
<url>
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/105312949/YmJoZ2ZocGxqYKCkaHWvm6CWmHFla25pYmhlmZhuaGlmlpiZa5iZmpNqlJhta2xtY5VsmmmamHCSZpdnbGhvmZJiZGpbo6CcbmJhZW1naG1pY2ZlaGpsbGky
]]>
</encode>
<decode>
<![CDATA[
105312949.mp3?xcode=0571162ec8115dee6bbbb8ad85552c9f4da8a4d3728aa016&mid=0.18115813134548
]]>
</decode>
<type>8</type>
<lrcid>0</lrcid>
<flag>0</flag>
</url>
<durl>
<encode>
<![CDATA[
http://zhangmenshiting2.baidu.com/data2/music/105313027/YmJoZ2ZpZ2poYKCkaHWvm6CWmHFla25pYmhlmZhuaGlmlpiZa5iZmpNqlJhta2xtY5VsmmeXm55qaWVoamqZa2mWZmxbo6CcbmJhZW1naG1pY2ZlaGpsbGky
]]>
</encode>
<decode>
<![CDATA[
105313027.mp3?xcode=0571162ec8115dee6bbbb8ad85552c9f2adf972454b38d38&mid=0.18115813134548
]]>
</decode>
<type>8</type>
<lrcid>0</lrcid>
<flag>0</flag>
</durl>
</result>

PHP解析:

public  function getMusicContent($postObj)
{
$ret= "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[]]></Description>
<MusicUrl><![CDATA[%s]]></MusicUrl>
<HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
<FuncFlag><![CDATA[1]]></FuncFlag>
</Music>
</xml>";
$recognition=$postObj->Recognition;
$keywordc= urlencode($recognition);
$musicapi = "http://box.zhangmen.baidu.com/x?op=12&count=1&title={$keywordc}\$\$";
$simstr=file_get_contents($musicapi);
$musicobj=simplexml_load_string($simstr);
$i=0;
$musicurl;
foreach($musicobj->url as $itemobj)
{
$encode = $itemobj->encode;
$decode = $itemobj->decode;
$removedecode = end(explode('&', $decode));
if($removedecode<>"")
{
$removedecode="&".$removedecode;
}
$decode = str_replace($removedecode,"", $decode);
$musicurl= str_replace(end(explode('/', $encode)) ,$decode,$encode);
break;
} $resultStr = sprintf($ret, $postObj->FromUserName, $postObj->ToUserName,time(), $recognition,$musicurl,$musicurl);
return $resultStr; }

  

[转]百度MP3音乐API接口及应用的更多相关文章

  1. 百度MP3音乐API接口及应用

    当你在百度去搜索一首歌时,你会发现有种更简单的方法. http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌名$$作者$$$$ 例如 ...

  2. 在线音乐播放器-----酷狗音乐api接口抓取

    首先身为一个在线音乐播放器,需要前端和数据库的搭配使用. 在数据库方面,我们没有办法制作,首先是版权问题,再加上数据量.所以我们需要借用其他网络播放器的数据库. 但是这些在线播放器,如百度,酷狗,酷我 ...

  3. 百度地图的API接口----多地址查询和经纬度

    最近看了百度地图的API的接口,正想自己做点小东西,主要是多地址查询和经纬度坐标跟踪, 下面的代码直接另存为html就可以了,目前测试Chrome和360浏览器可以正常使用. <!DOCTYPE ...

  4. 使用百度翻译的API接口

    http://api.fanyi.baidu.com/api/trans/product/desktop 这是申请的接口地址,会得到一个APPID和一个钥密 然后下载PHP的对应的代码 有一个PHP文 ...

  5. 酷狗音乐API接口大全(40+个)

    歌单分类部分 获取精选专区所有分类 http://mobilecdnbj.kugou.com/api/v3/tag/list?pid=0&apiver=2&plat=0 获取热门推荐分 ...

  6. 百度音乐API抓取

    百度音乐API抓取 前段时间做了一个本地音乐的播放器 github地址,想实现在线播放的功能,于是到处寻找API,很遗憾,不是歌曲不全就是质量不高.在网上发现这么一个APIMRASONG博客,有“获取 ...

  7. 关于网易云音乐爬虫的api接口?

    抓包能力有限,分析了一下网易云音乐的一些api接口,但是关于它很多post请求都是加了密,没有弄太明白.之前在知乎看到过一个豆瓣工程师写的教程,但是被投诉删掉了,请问有网友fork了的吗?因为我觉得他 ...

  8. C#百度图片识别API调用返回数据包解析

    百度图片识别api接口 public static JObject GeneralBasic(string apikey,string secretkey,string path) { var cli ...

  9. 百度乐播音乐真实地址查找api接口

    1.百度乐播官网:http://lebo.baidu.com: 随便点击进去一个音乐界面,如:http://lebo.baidu.com/album/9036366 2.chrome浏览器右击'检查' ...

随机推荐

  1. 什么是超级立方体,HyperCube

    我试试用我的方式说说如何构造n维空间吧. n维空间在n大于3后,说要画出来,有点难以想象.但从数学的角度看,高维空间这个概念还算比较普通.容易理解的. 与其解释,不如快快开始.我选择用图(Graph) ...

  2. Android 文件夹命名规范 国际化资源

    Android 文件夹命名规范 国际化资源 android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values- ...

  3. HTML-Canvas01

    画直线: var c = document.getElementById("myCanvas"); //不要忘写document var ctx = c.getContext(&q ...

  4. nodeAPI--HTTP

    HTTP:   //超文本协议,是属于TCP上层的协议 http协议构建在请求和响应概念上,node.js中对应http.ServerRequest,http.ServerResponse; 当用户浏 ...

  5. Xamarin Android提示找不到资源属性定义

    Xamarin Android提示找不到资源属性定义 错误信息:”Resource.Attribute”未包含”actonBarSize”的定义Xamarin Android经常会出现找不到资源属性的 ...

  6. ARP缓存记录种类动态条目和静态条目

    ARP缓存记录种类动态条目和静态条目 为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用.根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册. 这里首 ...

  7. c#知识总结1

    一.C#程序结构 一个c#程序主要包括以下部分 ①命名空间声明 ②一个class ③class方法 ④class属性 ⑤一个main方法 ⑥语句 和 表达式 以及 注释 简单的“Helloworld” ...

  8. HDU4812 D Tree(树的点分治)

    题目大概说给一棵有点权的树,输出字典序最小的点对,使这两点间路径上点权的乘积模1000003的结果为k. 树的点分治搞了.因为是点权过根的两条路径的LCA会被重复统计,而注意到1000003是质数,所 ...

  9. Hook to function

    myFun.h 1: #include <stdio.h> 2:  3: void __cyg_profile_func_enter(void *this_fn, void *call_s ...

  10. JAVA获取两个List<String>中不同的数据

    效率非常不错 测试结果: 1.list1中有97277条数据,list2中有37894条数据,两个list进行对比找出不同的数据共60000条左右,用时:0.051秒 2.list1中有97277条数 ...