百度有开放音乐搜索的api
比如:
http://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$
http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌名$$歌手名$$$$
其中歌名和歌手两个字段值需要经过utf-8编码
URLEncoder.encode(song.trim(),
“utf-8”);
这个是编码方法
然后访问回来的中歌曲下载的url还要处理一下
例如搜
http://box.zhangmen.baidu.com/x?op=12&count=1&title=不是秘密的秘密$$杨幂$$$$
<result>
<count>1</count>
<url>
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/13588335/YmVobG1pam1fn6NndK6ap5WXcG1smmedZGSYbWppZ2pmZ2hra2lunpVrZGRsaWptlWeZWqKfm3VhYGNlaG9taGNnamVuaGhpMQ$$
]]>
</encode>
<decode>
<![CDATA[
13588335.mp3?xcode=97d0e32e953025557637fd9107335d5f&mid=0.01396025719211
]]>
</decode>
<type>8</type>
<lrcid>1063430</lrcid>
<flag>1</flag>
</url>
<durl>
<encode>
<![CDATA[
http://zhangmenshiting2.baidu.com/data2/music/13588333/YmVobG1pamtfn6NndK6ap5WXcG1smmedZGSYbWppZ2pmZ2hra2lunpVrZGRsaWptlWeZWqKfm3VhYGNlaG9taGNnamVuaGhpMQ$$
]]>
</encode>
<decode>
<![CDATA[
13588333.mp3?xcode=97d0e32e953025557637fd9107335d5f&mid=0.01396025719211
]]>
</decode>
<type>8</type>
<lrcid>1063430</lrcid>
<flag>1</flag>
</durl>
<p2p>
<hash>b62944836beed578e90c6c79de2eb37afb7af261</hash>
<url>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/13588335/13588335.mp3?xcode=97d0e32e953025557637fd9107335d5f
]]>
</url>
<type>mp3</type>
<size>2014840</size>
<bitrate>64</bitrate>
</p2p>
</result>
处理方法是:
用
13588333.mp3?xcode=97d0e32e953025557637fd9107335d5f&mid=0.01396025719211
替换
http://zhangmenshiting2.baidu.com/data2/music/13588333/YmVobG1pamtfn6NndK6ap5WXcG1smmedZGSYbWppZ2pmZ2hra2lunpVrZGRsaWptlWeZWqKfm3VhYGNlaG9taGNnamVuaGhpMQ$$
当中的YmVobG1pamtfn6NndK6ap5WXcG1smmedZGSYbWppZ2pmZ2hra2lunpVrZGRsaWptlWeZWqKfm3VhYGNlaG9taGNnamVuaGhpMQ$$
即可。
挺好用吧
。
大家可以看看我的应用是怎么使用这个api来爬百度音乐的。