`
cloud21
  • 浏览: 389761 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

百度MP3音乐API接口及应用

阅读更多
当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,安宁ヤ太天真告诉你个秘密,百度有个不公开的API

http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$
用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML:
<?xml version="1.0" encoding="gb2312" ?> 
<result>
   <count>1</count> 
<data>
<encode>http://song.feifa-radio.com/Q/20050701/jingxuan/YjI$.Wma</encode> 
<decode>1.Wma</decode> 
<type>2</type> 
<lrcid>49684</lrcid> 
    </data>
</result>


其中的count值为1是说返回的是一个,这个没什么用,接下来的东西就有用了,encode里的值是歌曲加密后的地址,加密只是对文件名加密的,我们需要的只是前面的路径,也就是 http://song.feifa-radio.com/Q/20050701/jingxuan/ 这部分,然后复制decode 的值: 1.Wma 与前面的相拼就是正确的下载地址:
http://song.feifa-radio.com/Q/20050701/jingxuan/1.Wma
后面的type的值为2表示此歌曲文件类型是wma的,其它的:1表示rm,0表示MP3,通常我们下的类型都是MP3或WMA的,所以只要有2或0的
lrcid这个的值是百度服务器上这首歌的歌词文件的文件名,这个文件的路径是:http://box.zhangmen.baidu.com/bdlrc/496/49684.lrc 


这个地址解析下:
http://box.zhangmen.baidu.com/bdlrc/ 这个是百度lrc歌词存放地址,后面的496是一个的不定的,民就是说歌曲不同那个目录名也不同,它的算法是拿歌词文件名(也就是上面说的 49684) 除以一百,然后取小于等于其结果的最大整数,如上面的:49684/100 =496.84 取小于等于496.84 的最大整数就是496,于是这首歌完整的歌词地址就出来了:http://box.zhangmen.baidu.com/bdlrc/496/49684.lrc

安宁ヤ太天真似乎说得复杂了了,呵呵,希望对大家有用

<appSettings>  
  <!--搜搜音乐地址 http://cgi.music.soso.com/fcgi-bin/m.q?w=[歌名/歌手名]&p=[页数]&t=[格式]-->  
  <!--格式: -1-全部 0-MP3 1-RM ,2-WMA-->  
  <add key="SosoUrl" value="http://cgi.music.soso.com/fcgi-bin/m.q?w={0}&p=1&t={1}"/>  
  <!--百度音乐地址 http://mp3.baidu.com/m?f=ms&rf=idx&tn=baidump3&ct=134217728&lf=&rn=&word=[歌名/歌手名]&lm=[格式]&pg=[页数]-->  
  <!---格式:-1-全部 0-MP3 1-RM ,2-WMA-->  
  <add key="BaiduUrl" value="http://mp3.baidu.com/m?f=ms&rf=idx&tn=baidump3&ct=134217728&lf=&rn=&word={0}&lm={1}"/>  
  <!--百度音乐快搜地址 http://box.zhangmen.baidu.com/x?op=12&count=1&title=[歌名]$$[歌手名]$$$$-->  
  <add key="BaiduQuickUrl" value="http://box.zhangmen.baidu.com/x?op=12&count=1&title={0}$${1}$$$$"/>  
  <!--千千静听歌词信息地址 http://ttlrcct.qianqian.com/dll/lyricsvr.dll?sh?Artist=[歌手名]&Title=[歌名]-->  
  <add key="TTLrcListUrl" value="http://ttlrcct.qianqian.com/dll/lyricsvr.dll?sh?Artist={0}&Title={1}"/>  
  <!--千千静听歌词地址 http://ttlrccnc.qianqian.com/dll/lyricsvr.dll?dl?Id=[歌曲ID]&Code=[title和artist]&uid=03&mac=002421585787&hds=WD-WMAV22344505"-->  
  <add key="TTLrcUrl" value="http://ttlrccnc.qianqian.com/dll/lyricsvr.dll?dl?Id={0}&Code={1}&uid=03&mac=002421585787&hds=WD-WMAV22344505"/>  
</appSettings>  
10
1
分享到:
评论
12 楼 heiliuer 2013-11-24  

歌词可以用,我试了好几个,都行的
11 楼 海阔天空1991 2013-04-06  
楼主,有没有什么途径可以知道歌曲对应的信息?
10 楼 weichao741 2012-11-27  

9 楼 yy232 2012-09-11

把[CDATA[   代码后面的全部 复制 就可以了。
9 楼 yy232 2012-09-11  
现在用  http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$  这个地址搜索已经不行了,不知道加密了还是怎么了
结果如下,求解答啊

<result>
<count>1</count>
<url>
<encode><![CDATA[http://zhangmenshi-ting.baidu.com/data2/music/12762804/YmRqamduZ2xfn6NndK6ap5WXcGSYmJuaaWVpZWWbnZ1nlGVlZZdnm2Rja2Rrb2pwlWuYWqKfm3VhYGhnZm5qbmJmZ21lZm1pMQ$$]]></encode>
<decode><![CDATA[12762804.mp3?xcode=0cbdb83610efe6b210a0c31806938d9e&mid=0.53183614490061]]></decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</url>
<durl>
<encode><![CDATA[http://zhangmenshi-ting2.baidu.com/data2/music/7339015/aGVmbWVnbGaeomZzrZmmnJZvY5eXmplwZGhkZJqcnG6TZGRklmaaa2JqY2puaW-capdZoZ6adGhfZ2ZlbWltaWVmbGRlbGg4]]></encode>
<decode><![CDATA[7339015.mp3?xcode=0cbdb83610efe6b210a0c31806938d9e&mid=0.53183614490061]]></decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</durl>
<p2p>
<hash>d1cae9f7634c5aa3d54d7b1b1ad4c5b79b6e97ff</hash>
<url><![CDATA[http://zhangmenshi-ting.baidu.com/data2/music/11290588/11290588.mp3?xcode=0cbdb83610efe6b210a0c31806938d9e]]></url>
<type>mp3</type>
<size>5710896</size>
<bitrate>192</bitrate>
</p2p>
</result>
8 楼 SBX哥 2012-08-28  
大神级别,真心学习了.....
7 楼 loweryou 2011-11-24  
歌词已经不行了,求更新!
6 楼 miw__ 2011-11-12  
我分析的结果不一样哈
1 8都是MP3
另外这个值 还可能是字符串,可能直接就是MP3,还没有完全搞明白
5 楼 mustcan 2011-10-17  
很犀利呀!!!佩服!!狂顶!!!!
4 楼 loweryou 2011-10-13  
我擦,神人就是神人,这也有研究,拜谢!
3 楼 v4521 2011-04-28  
会写飞速网盘 和115网盘 解析地址文件吗?php 或ASP的
2 楼 a00589 2011-01-10  
good.
1 楼 yuanliyin 2010-06-21  
这个好!!

相关推荐

Global site tag (gtag.js) - Google Analytics