`
suiyuan0808
  • 浏览: 152263 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

教你轻松拿下百度音乐播放器mp3地址

    博客分类:
  • Java
阅读更多

教你轻松拿下百度音乐播放器mp3地址----ldfu2010

 

如果你想做一个类似百度或谷歌或QQ音乐那样的flash播放器,你最需要最重要的事情是什么?播放器什么做?我觉得应该不是,而是你的音乐mp3播放源文件在哪里,也是你的MP3,wav等文件的放在哪里,你是怎么找到你的播放源文件。而且你的源文件需要跟著网络流行的曲子每天都变化,要做这样,有两种做法:

一、你自己做服务器,音乐文件在你的服务器上,你随时更新这些源文件。这种做法应该是最直接也是落后最垃圾的做法。

二、让别人做服务器,你只需要去分析别人的源文件就是。也就是所谓的小偷程序,抓去别人的文件过来就播放,这样你需要做的只是维护你的播放器。其他的就让别人来替你做吧,把多余拿去喝咖啡吧。呵呵,所以最聪明的你应该使用最聪明的办法咯,所以现在最重要的事情就是分析音乐源文件地址咯,呵呵。我这里只能百度音乐盒来分析,对其他谷歌,QQ原理是一样的,呵呵。下面是百度音乐盒图片:

 



 

 

你现在只需要根据下面的URL请求就得到百度的音乐各种排行榜。我已经分析出来了,你呢只需要按照下面做可以了,至于我是什么分析出来呢,呵呵。暂时秘密,呵呵:

 

第一步、请求URL:http://box.zhangmen.baidu.com/x?op=3&list_cat=1&.r=0.5276412834429164 注意这个url里面的r是个随机数,你自己做的时候只要生成一个小于0的随机数就可以,你不修改这个随机数的值也可以。你现在可以直接把这个url直接复制到浏览器上去请求看看,这个URL返回来结果如下,注意它的id和name(它每天结果可能有变化。我这里只列出一部分结果出来):

<?xml version="1.0" encoding="gb2312" ?>
- <result>
<count>17</count>
- <data>
<id>2</id>
<name>新歌TOP100</name>
<tcount>120</tcount>
<isnew>0</isnew>
</data>
- <data>
<id>1</id>
<name>中文金曲榜</name>
<tcount>10</tcount>
<isnew>0</isnew>
</data>
- <data>
<id>3</id>
<name>歌曲TOP500</name>
<tcount>500</tcount>
<isnew>0</isnew>
</data>
- <data>
<id>4</id>
<name>dj舞曲</name>
<tcount>120</tcount>
<isnew>0</isnew>
</data>
<id>112</id>
<name>欧美金曲</name>
<tcount>120</tcount>
<isnew>0</isnew>
</data>
- <data>
<id>110</id>
<name>摇滚歌曲榜</name>
<tcount>330</tcount>
<isnew>0</isnew>
</data>

<data>
<id>106</id>
<name>校园民谣</name>
<tcount>330</tcount>
<isnew>0</isnew>
</data>
</result>

 

 

第二步、我们根据以上返回来的结果就拿中文金曲榜来继续请求吧,先看看上面返回这个数据:

<data>
<id>1</id> 这个很重要哦,我们等下要继续用它了。
<name>中文金曲榜</name> 这个就是播放器左边标题了。
<tcount>10</tcount> 这个就是什么,我也不知道,反正对我们没有用,呵呵
<isnew>0</isnew> 这个应该代表是不是最新的,应该是,没有用对我们
</data>

所以我们继续请求URL:http://box.zhangmen.baidu.com/x?op=22&listid=1&.r=0.9220930515980901,他返回如下内容:
<?xml version="1.0" encoding="gb2312" ?>
- <result>
<author />
<authorlink />
<crttime />
<picurl />
<moredetail />
<count>10</count>
- <data>
<id>1598889</id>
<name>心肝宝贝$$任贤齐 徐熙媛$$$$</name>
</data>
- <data>
<id>1313281</id>
<name>我很快乐$$刘惜君$$$$</name>
</data>
- <data>
<id>1582927</id>
<name>荷塘月色$$凤凰传奇$$$$</name>
</data>
</result>

 

第三步、请使用上面结果继续请求,呵呵。看准了我上面标红的id name哦。把上面得到的name来填充我们以下title值,即title=心肝宝贝$$任贤齐%20徐熙媛$$$$。这次我们请求就是:

http://box.zhangmen.baidu.com/x?op=12&count=1&mtype=2&title=心肝宝贝$$任贤齐%20徐熙媛$$$$&url=&listenreelect=0&.r=0.5733585120495725。这个url里面其他参数不用变,r参数可以随便一个随机数吧,呵呵。看看我们返回来结果,这些就是我们最终想要的哦,呵呵:

 

<?xml version="1.0" encoding="gb2312" ?>

- <result>
<count>4</count>
-
- <url>
<encode>http://122.72.25.73/icache/www.jx520.net/ihih/mpqcnDU$.mp3</encode>
<decode>ihih.mp3</decode>
<type>1</type>
<lrcid>919723</lrcid>
</url>
- <url>
<encode>http://www.jx520.net/ihih/mpqcnDU$.mp3</encode>
<decode>ihih.mp3</decode>
<type>1</type>
<lrcid>919723</lrcid>
</url>
- <url>
<encode>http://jx520.net/ihih/mpqcnDU$.mp3</encode>
<decode>ihih.mp3</decode>
<type>1</type>
<lrcid>919723</lrcid>
</url>
-
</result>

哈哈,到此mp3已经拿到了,我们还缺少什么呢。歌词啊,呵呵:歌词url,看看上面结果的:
<lrcid>919723</lrcid> ,这就好似百度歌词啊,继续构造url请求吧。
http://box.zhangmen.baidu.com/bdlrc/lrcid减去最后两个数据/lrcid.lrc。
比如lrcid=919723,则url如下:
http://box.zhangmen.baidu.com/bdlrc/9197/919723.lrc

lrcid=17798,则url如下:
http://box.zhangmen.baidu.com/bdlrc/177/17798.lrc
我们得到919723歌词:
[ti:心肝宝贝]
[ar:任贤齐&徐熙媛]
[al:龙凤店电影主题曲]
[by:yujie2288]
[offset:500]
[00:01.00]心肝宝贝
[00:04.33]词曲:小虫 J.BUG
[00:07.33]编曲:屠颖
[00:10.33]演唱:任贤齐&徐熙媛
[00:13.33]LRC编辑:毓杰(吉林延边)
[00:16.33]QQ:1165915900
[00:19.33]
[00:22.33](合)天是那么大 人是那么多
[00:26.71]偏偏让我遇见你
[00:30.46](男)你是那么真 你是那么好
[00:35.38]我曾怀疑我在做梦
[00:39.61](女)不再一个人 心事有人听
[00:44.14]漫漫长夜在一起
。。。。。。。。。。。。。。。。
注意百度返回的歌曲不一定可以播放,因为他是搜索 别人的音乐。搜索肯定是事先准备好的,所以你需要做的事情需要对返回来的mp3地址试试ping一下,如果通就那他来播放。呵呵,这个很容易的。如果你想做不需要ping,那么我建议你分析QQ音乐播放器吧,原理一样很简单我分析半个小时他的音乐很快每首必能播放,爽,只要返回来的地址都可以直接播放的,呵呵。

  • 大小: 35.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics