您的位置:首页 > Web前端 > JavaScript

利用Jsoup解析HTML

2011-01-24 13:01 190 查看
最近又要做html内容抽取,这次打算尝试一下除了用正则表达式以外的其他方式。自然第一个想到的就是HtmlParser,结果找到了以后发现最近的更新还是在06年,汗!这个时候很意外的发现了Jsoup,试用了一下感觉相当清爽,推荐一下。

如果你很有兴趣,直接去官方网站看下说明文档,地址是http://jsoup.org/cookbook/。我这里给个小例子,目的是从下文中抽取出标题,大家可以看一下他的类jQuery语法。

<div class="artHead">

<div>

<span class="artType01" style="margin-right: 5px;"><a href="javascript:void(0)">原创</a></span>

<h3 class="artTitle"><a href="/2431658/483361">JAVA程序内存溢出问题的分析</a>

<a href="http://blog.51cto.com/artcommend" target="_blank"><img src="http://blog.51cto.com/image/skin/34/indextj.gif" width="15" height="15" /></a>

</h3>

</div>

这个内容是从我博客首页上摘取的,所以直接打开这个页面进行抽取,测试代码如下:

package jsoup;

import java.io.IOException;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;

public class ParseTest {

public static void main(String[] args) {

try {

Document doc = Jsoup.connect("http://passover.blog.51cto.com/").get();

System.out.println(doc.title());

Elements eles = doc.select("div.artHead");

System.out.println(eles.first().select("h3[class=artTitle]"));

} catch (IOException e) {

e.printStackTrace();

}

}

}

是不是特别简单?!如果网页结构化比较好的话,这么抽取真的非常方便,我试了下,效率也很不错。推荐给有相关需求的朋友,网页解析又多了一个选择,:-)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: