百度音乐接口-——可以根据这做一个在线音乐播放器哦

分享一下

来自:http://blog.csdn.net/x1135768777/article/details/7459711

注意:要把得到的地址拼接一下,就可以得到mp3的下载地址了

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

http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$
用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML:
百度对其XML进行了更改: 
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<result>
<count>1</count>
<url>
<encode>
<![CDATA[

http://zhangmenshiting.baidu.com/data2/music/12762804/

YmRqamduZ2xfn6NndK6ap5WXcJaWbJppl2qYmWyYbpljlWxkmW2ZbJNrlGZsl5hrYZhkWqKfm3VhYGxpaW5wcGVoa2hrb29uMQ$$

]]>
</encode>
<decode>
<![CDATA[
12762804.mp3?xcode=ba6c1f8ee7b7a2c90d7b4b9a27aa30f1&mid=0.95489846846986
]]>
</decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</url>
<durl>
<encode>
<![CDATA[

http://zhangmenshiting2.baidu.com/data2/music/7339015

/aGVmbWVnbGaeomZzrZmmnJZvlZVrmWieaZeYa5dtmGqUa2OYbJhrmmqTZWuWl2pol2NZoZ6adGhfa2hobW9vbGdqZ2pubm04

]]>
</encode>
<decode>
<![CDATA[
7339015.mp3?xcode=ba6c1f8ee7b7a2c90d7b4b9a27aa30f1&mid=0.95489846846986
]]>
</decode>
<type>8</type>
<lrcid>14706</lrcid>
<flag>1</flag>
</durl>
<p2p>
<hash>c95f9cfadb9ea0235369975d9efa06673228530b</hash>
<url>
<![CDATA[

http://zhangmenshiting.baidu.com/data2/music

/8453672/8453672.mp3?xcode=ba6c1f8ee7b7a2c90d7b4b9a27aa30f1

]]>
</url>
<type>mp3</type>
<size>3757804</size>
<bitrate>128</bitrate>
</p2p>
</result>

这就是你要的音乐地址http://zhangmenshiting.baidu.com/data2/music

/8453672/8453672.mp3?xcode=ba6c1f8ee7b7a2c90d7b4b9a27aa30f1



其中的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

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

Java代码
<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>

这大神发现的http://blog.csdn.net/manbujingxin/article/details/6823187

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值