`
kinkding
  • 浏览: 147923 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JSOUP初探

    博客分类:
  • JAVA
阅读更多

JSOUP是偶然看到的一个处理HTML的JAVA 类库,其官方网址是:http://jsoup.org/

1、编写相关的试用程序(只需要在工程中引用jsoup-1.3.3.jar即可):

import java.io.File;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class Test {
	public static void main(String[] args) {
		Test t = new Test();
		t.parseFile();
	}

	public void parseString() {
		String html = "<html><head><title>blog</title></head><body onload='test()'><p>Parsed HTML into a doc.</p></body></html>";
		Document doc = Jsoup.parse(html);
		System.out.println(doc);
		Elements es = doc.body().getAllElements();
		System.out.println(es.attr("onload"));
		System.out.println(es.select("p"));
	}

	public void parseUrl() {
		try {
			Document doc = Jsoup.connect("http://www.baidu.com/").get();
			Elements hrefs = doc.select("a[href]");
			System.out.println(hrefs);
			System.out.println("------------------");
			System.out.println(hrefs.select("[href^=http]"));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void parseFile() {
		try {
			File input = new File("input.html");
			Document doc = Jsoup.parse(input, "UTF-8");
			// 提取出所有的编号
			Elements codes = doc.body().select("td[title^=IA] > a[href^=javascript:view]");
			System.out.println(codes);
			System.out.println("------------------");
			System.out.println(codes.html());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

2、parseString的输出:

<html>
 <head>
  <title>blog</title>
 </head>
 <body onload="test()">
  <p>Parsed HTML into a doc.</p>
 </body>
</html>
test()

<p>Parsed HTML into a doc.</p>

 

3、parseUrl的输出:

<a href="/gaoji/preferences.html">设置</a>
<a href="http://passport.baidu.com/?login&amp;tpl=mn">登录</a>
<a href="http://news.baidu.com">新&nbsp;闻</a>
<a href="http://tieba.baidu.com">贴&nbsp;吧</a>
<a href="http://zhidao.baidu.com">知&nbsp;道</a>
<a href="http://mp3.baidu.com">MP3</a>
<a href="http://image.baidu.com">图&nbsp;片</a>
<a href="http://video.baidu.com">视&nbsp;频</a>
<a href="http://map.baidu.com">地&nbsp;图</a>

<a href="#" name="ime_hw">手写</a>

<a href="#" name="ime_py">拼音</a>

<a href="#" name="ime_cl">关闭</a>
<a href="http://hi.baidu.com">空间</a>
<a href="http://baike.baidu.com">百科</a>
<a href="http://www.hao123.com">hao123</a>
<a href="/more/">更多&gt;&gt;</a>
<a id="st" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.baidu.com')" href="http://utility.baidu.com/traf/click.php?id=215&amp;url=http://www.baidu.com">把百度设为主页</a>
<a href="http://e.baidu.com/?refer=888">加入百度推广</a>
<a href="http://top.baidu.com">搜索风云榜</a>
<a href="http://home.baidu.com">关于百度</a>
<a href="http://ir.baidu.com">About Baidu</a>
<a href="/duty/">使用百度前必读</a>
<a href="http://www.miibeian.gov.cn" target="_blank">京ICP证030173号</a>
------------------
<a href="http://passport.baidu.com/?login&amp;tpl=mn">登录</a>
<a href="http://news.baidu.com">新&nbsp;闻</a>
<a href="http://tieba.baidu.com">贴&nbsp;吧</a>
<a href="http://zhidao.baidu.com">知&nbsp;道</a>
<a href="http://mp3.baidu.com">MP3</a>
<a href="http://image.baidu.com">图&nbsp;片</a>
<a href="http://video.baidu.com">视&nbsp;频</a>
<a href="http://map.baidu.com">地&nbsp;图</a>
<a href="http://hi.baidu.com">空间</a>
<a href="http://baike.baidu.com">百科</a>
<a href="http://www.hao123.com">hao123</a>
<a id="st" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.baidu.com')" href="http://utility.baidu.com/traf/click.php?id=215&amp;url=http://www.baidu.com">把百度设为主页</a>
<a href="http://e.baidu.com/?refer=888">加入百度推广</a>
<a href="http://top.baidu.com">搜索风云榜</a>
<a href="http://home.baidu.com">关于百度</a>
<a href="http://ir.baidu.com">About Baidu</a>
<a href="http://www.miibeian.gov.cn" target="_blank">京ICP证030173号</a>
 

3、parseFile的输出:

<a href="javascript:view('67530','67530','0');">IA100908-002</a>

<a href="javascript:view('67529','67529','0');">IA100908-001</a>

<a href="javascript:view('67544','67544','0');">IA100908-016</a>

<a href="javascript:view('67364','67364','0');">IA100903-008</a>

<a href="javascript:view('67363','67363','0');">IA100903-007</a>

<a href="javascript:view('66104','66104','0');">IA100710-013</a>

<a href="javascript:view('57916','57916','0');">IA100515-013</a>

<a href="javascript:view('56962','56962','0');">IA100430-022</a>

<a href="javascript:view('66958','66958','0');">IA100830-001</a>

<a href="javascript:view('66319','66319','0');">IA100713-003</a>

<a href="javascript:view('66317','66317','0');">IA100713-001</a>

<a href="javascript:view('66321','66321','0');">IA100713-005</a>

<a href="javascript:view('66967','66967','0');">IA100830-010</a>

<a href="javascript:view('66999','66999','0');">IA100831-001</a>

<a href="javascript:view('67377','67377','0');">IA100904-004</a>

<a href="javascript:view('67378','67378','0');">IA100904-005</a>

<a href="javascript:view('3271','3271','0');">IA080115-031</a>
------------------
IA100908-002
IA100908-001
IA100908-016
IA100903-008
IA100903-007
IA100710-013
IA100515-013
IA100430-022
IA100830-001
IA100713-003
IA100713-001
IA100713-005
IA100830-010
IA100831-001
IA100904-004
IA100904-005
IA080115-031

 补充下,input.html的基本结果如图:

分享到:
评论
5 楼 少城SC 2012-11-16  
写得很好,今天借鉴了,哈哈,用来分享
4 楼 mz0827 2012-09-26  
一直用的是HtmlParser。不知道这个有什么优势?
3 楼 liuzhongzhou272 2012-04-13  
great
2 楼 greatwqs 2011-11-04  
jsoup不错啊
httpclient + jsoup + lecene 基于java的爬虫就这么成型了
   
1 楼 yjp0501 2011-04-08  
我现在正需要jsoup的基础教程呢,马上要使用了,但是以前没有接触过,谢谢了

相关推荐

    jsoup-1.15.3.jar

    jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jar,jsoup-1.15.3.jarjsoup-...

    Jsoup

    Jsoup

    jsoup-1.14.3-API文档-中文版.zip

    赠送jar包:jsoup-1.14.3.jar; 赠送原API文档:jsoup-1.14.3-javadoc.jar; 赠送源代码:jsoup-1.14.3-sources.jar; 赠送Maven依赖信息文件:jsoup-1.14.3.pom; 包含翻译后的API文档:jsoup-1.14.3-javadoc-API...

    Jsoup 1.5.2 和jsoup 1.6

    Jsoup 1.5.2 和jsoup 1.6 开发包jar包,开发文档,源码包

    JsoupAPI(jsoup帮助文档)

    JsoupAPI jsoup最新版帮助文档(1.10.2)

    Jsoup库文件;Jsoup解析Java包

    Jsoup库文件;Jsoup解析Java包

    jsoup1.10.3包和jsoupApi帮助文档

    最新jsoup1.10.3和jsoupApi帮助文档

    JsoupXpath

    整理JsoupXpath( https://github.com/zhegexiaohuozi/JsoupXpath)是一款纯Java开发的使用xpath解析提取html内容的解析器,xpath语法分析与执行完全独立,html的DOM树生成借助Jsoup,故命名为JsoupXpath. 为了在java...

    jsoup 帮助文档1.6.3

    jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的... &lt;groupId&gt;org.jsoup &lt;artifactId&gt;jsoup &lt;version&gt;1.6.3 &lt;/dependency&gt;

    Jsoup.jar Jsoup jar 包 java

    可以解析xml ,html 的java jar 包;Jsoup,常用的jar 包

    org.jsoup.jar

    import org.jsoup.Jsoup

    jsoup分页爬取网页

    jsoup分页爬取网页,jsoup分页爬取网页jsoup分页爬取网页内置jsoup所需要的jar包

    jsoup-1.11.3-API文档-中文版.zip

    赠送jar包:jsoup-1.11.3.jar; 赠送原API文档:jsoup-1.11.3-javadoc.jar; 赠送源代码:jsoup-1.11.3-sources.jar; 赠送Maven依赖信息文件:jsoup-1.11.3.pom; 包含翻译后的API文档:jsoup-1.11.3-javadoc-API...

    JsoupXpath jsoup升级版 java爬虫工具

    JsoupXpath jsoup的升级版 ,支持jsoup的同时还支持原生xpath语法,让你的爬虫更得心应手,无所不爬!

    jsoup-jar包

    java抓取网页模块JSoup,Jsoup-jar包.

    jsoup1.6源码及API

    jsoup1.6源码及API jsoup-1.6.1.jar jsoup-1.6.1-javadoc.jar jsoup-1.6.1-sources.jar

    Idea + Maven + Jsoup

    Idea + Maven环境下Jsoup的引入使用,以及Jsoup的简单示例

    最新 jsoup的jar 1.11.2

    解压导入第一个包就可以用。 import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;

    jsoup-1.14.3-API文档-中英对照版.zip

    赠送jar包:jsoup-1.14.3.jar; 赠送原API文档:jsoup-1.14.3-javadoc.jar; 赠送源代码:jsoup-1.14.3-sources.jar; 赠送Maven依赖信息文件:jsoup-1.14.3.pom; 包含翻译后的API文档:jsoup-1.14.3-javadoc-API...

    jsoup-1.8.3.zip

    jsoup-1.8.3.zip,全套jsoup,包括jar包:jsoup-1.8.3.jar;源码:jsoup-1.8.3-sources;文档:jsoup-1.8.3-javadoc。

Global site tag (gtag.js) - Google Analytics