数据采集Jsoup

这段时间想自己做个东西,但内容自然没有,得抓。
一开始,我使用PHP在写抓取的,结果发现,自己写正则表达式来抓取真的很痛苦,一级一级太恶心了。
问问google,他告诉我,Jsoup 吧,这东西可以以JQuery的语法来做(JQuery?没错,就是JQuery)

下面,让我来演示一下用Jsoup怎么抓取 http://www.soku.com/search_video/q_mv 上的列表中的各项 MV 的信息吧。So Easy(HttpClient + Jsoup)

下面代码很长,但主要是在定义 YoukuMv 这个类,这个类代表列表中的每一个Mv,而且,这代码都是NetBeans自动生成的。

代码性能优异,在NetBeans里直接运行,小于1秒(包括初始化程序、通过网络请求HTML内容)可以把这个页面采集、解析完(毕竟Java性能摆在那儿)所有的解析过程(从HTML到解析出一个个的 YoukuMv 对象)耗时在 230ms 到 235 ms 之间

补充: 其实PHP的实现 phpQuery 在这个上面性能也不赖,同样的功能,400ms就可以解析完成了。

另外,下面这代码实在30分钟以内一气呵成写完了(包括找采集目标到最终编写完成),除了在采集播放次数哪儿第一次没有替换掉 , 导致一次异常外,其它的都是一次通过(说明绝对够简单了吧)。





 

转自:http://hi.baidu.com/zhangsilly/item/0f04a2dfa02b45fcca0c39d9