利用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();
}
}
}
是不是特别简单?!如果网页结构化比较好的话,这么抽取真的非常方便,我试了下,效率也很不错。推荐给有相关需求的朋友,网页解析又多了一个选择,:-)
如果你很有兴趣,直接去官方网站看下说明文档,地址是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();
}
}
}
是不是特别简单?!如果网页结构化比较好的话,这么抽取真的非常方便,我试了下,效率也很不错。推荐给有相关需求的朋友,网页解析又多了一个选择,:-)
相关文章推荐
- 利用Jsoup解析html,如何得到<img>标签的位置
- 利用 jsoup 解析 html内容
- Android 利用jsoup解析 html
- 利用Jsoup解析HTML
- Android基础学习总结(十三)——利用jsoup解析html实现网络爬虫
- Android利用Jsoup解析html 开发网站客户端小记
- Android 利用jsoup解析 html
- 关于利用Jsoup解析HTML中 ;变成非传统空格或乱码问题解决方法
- Android利用Jsoup解析html 开发网站客户端小记。
- 利用jsoup解析html
- Android利用Jsoup解析html 开发网站客户端小记。
- 关于利用Jsoup解析HTML中&nbsp;变成非传统空格或乱码问题解决方法
- android专业分享1 Android利用Jsoup解析html 开发网站客户端小记。
- [Android实例] 利用Jsoup解析Html实现的Android招聘信息大全
- Android 利用jsoup解析 html
- Android 利用jsoup解析 html
- Android开发探秘之三:利用jsoup解析HTML页面
- Android开发之利用jsoup解析HTML页面的方法
- Android - 小功能 利用Jsoup解析html 开发网站客户端小记。
- java利用JSOUP解析html