当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,告诉你个秘密,百度有个不公开的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. javascript中window.open()与window.location.href的区别

    window.open("www.baidu.com"); 只是表示打开这个页面,并不是打开并刷新baidu.com window.location.href="www. ...

  2. Z-XML团队年终博客整理

    一个优秀的团队一定有逻辑清晰,风格优雅,严格规范的博客. ------图灵 大三上转眼间已经到了收官阶段,我们的软工课也逐渐接近尾声.在二轮迭代即将结束的时候,当我们梳理一路走来的软工课,我们发现自己 ...

  3. Linux常用命令_(磁盘管理)

    磁盘信息:df.du df命令–功能:检查文件系统的磁盘空间占用情况–语法:df [选项]–选项:-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统.-k 以 ...

  4. spring获取webapplicationcontext,applicationcontext几种方法详解

    法一:在初始化时保存ApplicationContext对象代码: ApplicationContext ac = new FileSystemXmlApplicationContext(" ...

  5. Hadoop_10_12虚拟机01_虚拟机NAT方式联网【自己的亲测笔记】

      NAT方式 1.查看网络信息--ifconfig(同windows中的ipconfig相同) 主要关注的是第三行内容,分别是Ip地址.广播地址.子网掩码 2.安装完系统后需要配置三个地方--IP地 ...

  6. HTML的表单元素

    html的表单元素主要用于让用户输入数据并提交给服务器 基本语法:<form action="url" method="提交的方法,get/post,默认为get& ...

  7. Revit二次开发示例:EventsMonitor

    在该示例中,插件在Revit启动时弹出事件监控选择界面,供用户设置,也可在添加的Ribbon界面完成设置.当Revit进行相应操作时,弹出窗体会记录事件时间和名称. #region Namespace ...

  8. cocos 帧率测试

    有人说导致cocos2dx 帧率下降的是getPosition,我测试以后发现并不是这样的. local MainScene = class("MainScene", functi ...

  9. BZOJ2675 : Bomb

    首先通过不断翻转坐标系,假设三个点以横坐标为第一关键字,纵坐标为第二关键字排序后A在B前面,B在C前面. 那么只需要处理以下两种情况: 1.B的纵坐标在AC之间,这时三个点的距离和为$2((x_C+y ...

  10. windows phone 7 中怎样定义和使用资源(Resource)

    1. 系统资源. 在wp7开发中可以看到很多使用系统资源(resource)的例子,例如默认的新page: http://blog.csdn.net/matrixcl/article/details/ ...