浏览 4737 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-13
由于平时经常到baidu上下歌,就想着做个baidu的mp3播放器,可以边听默认的播放列表就是mp3.baidu.com上的那些分类,比如TOP500等等。我的想法是这样的,初始化播放器的时候,模拟IE向mp3.baidu.com发请求,得到各个分类的响应网页源代码,然后通过解析网页源代码得到歌曲的名字和网络地址,然后就可以边听边下载了。比如 歌曲TOP500的URL为 /topso/mp3topsong.html?id=1?top2 于是用httpwatch抓了一个http的请求包,如下: GET /topso/mp3topsong.html?id=1?top2 HTTP/1.1 Accept: */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) Host: list.mp3.baidu.com Connection: Keep-Alive Cookie: BAIDUID=B486276D927F185C2D188C23F27C26FA 然后用java建立一个socket,连接指向list.mp3.baidu.com,发送http请求,然后解析响应包。 大家觉得这个想法如何?我就是想练习一下,高手们,有没有好的建议阿? ****************************************************************** 这个想法现在已经初步实现了,但是由于工作比较忙,播放器做得比较简单 在做的过程中学到的东西大致有以下几点: 1 使用最基本的java socket进行通信,发送http头部和获取服务器响应。在此过程中遇到一个问题,就是用readLine函数进行读取响应时,出奇地慢,后来查了些资料,貌似说readLine函数的缓冲区开得很小,导致读取速度慢;自后自己设置缓冲区,用read函数读取,速度就很快了 2 百度网页的解析,其实就是字符串的操作 3 播放网络歌曲: 歌曲的播放用jmf实现,安装了jmf框架和播放mp3的插件 目前还比较简陋,播放时加载速度也很慢,这部分以后要改成多线程的模式 学习是最主要的,希望大家有好的想法的时候也共享出来,练练手 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-14
我觉得应该可以吧?
163的blog上面的播放器就是实时抓歌播放的 |
|
返回顶楼 | |
发表时间:2007-12-14
完全可以.不过socket就用不着了.用HttpURLConnection就够了!
|
|
返回顶楼 | |
发表时间:2007-12-20
在java里有直接解析网页的类么?
|
|
返回顶楼 | |
发表时间:2007-12-20
1、这个工具对于你熟悉http协议有一定的帮助
2、这种解析工具已经有成熟的解决方案:apache的HttpClient,无需再重复轮子 |
|
返回顶楼 | |
发表时间:2007-12-23
我是个初学者。对你的这个程序挺感兴趣的,回来程序完成了,能不能发上来,让我学习一下。。谢了
|
|
返回顶楼 | |
发表时间:2008-02-26
个人还是支持的,目前ubuntu系统的不断流行,在其系统下开发的java软件也将会越来越多,尚且内存越来越便宜,硬件升级对java是一件幸事啊!
|
|
返回顶楼 | |
发表时间:2008-04-24
HttpClient
|
|
返回顶楼 | |