`
kinkding
  • 浏览: 150550 次
  • 性别: 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-...

    JsoupAPI(jsoup帮助文档)

    **Jsoup API 深入解析** Jsoup 是一个用于处理和解析HTML的Java库,它提供了强大的功能,使得在Java程序中操作HTML文档变得简单而直观。在Jsoup 1.10.2版本中,这个API进一步优化了对HTML的处理能力,提供了丰富的...

    jsoup中文帮助文档

    Jsoup 提供 DOM 风格的方法(如 `getElementById()`, `getElementsByTag()`, `select(String cssQuery)` 等)来遍历 Document 对象并抽取所需数据。例如,你可以通过 CSS 选择器选取元素,然后提取它们的属性、文本...

    jsoup-jar包

    **JSoup:Java的网页抓取与解析库** JSoup是一个用Java编写的开源库,专为处理HTML文档而设计。它提供了丰富的API,使得开发者能够轻松地抓取、解析和操作网页内容。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在Web抓取、数据分析和网页爬虫项目中广泛应用。本文将深入探讨Jsoup 1.5.2和1.6这两个版本的主要特性、变化以及如何在项目中使用它们。 首先,让我们了解Jsoup的基本功能。Jsoup的核心功能包括: 1. **HTML...

    jsoup-1.12.1.rar

    **jsoup库详解** jsoup是一个Java库,用于处理实际世界中的HTML。它提供了一种易于使用的API,用于提取和操作数据,具有浏览器一样的解析和筛选能力。在Java爬虫领域,jsoup扮演着至关重要的角色,使得开发者能够...

    jsoup-jsoup-1.6.1.zip

    在jsoup 1.6.1版本中,我们可以看到这个库已经相当成熟,提供了丰富的功能和优化。以下是一些关于jsoup的关键知识点: 1. **HTML解析**:jsoup的核心能力在于它强大的HTML解析机制。它使用了名为"Jsoup Parser"的...

    Jsoup库文件;Jsoup解析Java包

    1. `jsoup.jar`:Jsoup的主要库文件,包含了所有的类和方法,导入此文件即可在项目中使用Jsoup。 2. `README.md`或`README.txt`:文件说明,介绍如何使用Jsoup以及可能的注意事项。 3. `LICENSE`:Jsoup的许可协议,...

    Jsoup

    Jsoup的核心功能包括: 1. HTML解析:Jsoup能够解析各种各样的HTML源码,无论是干净的结构化HTML还是充满乱七八糟标签的真实网页。它能处理HTML5和HTML4,甚至一些常见的错误格式也能被正确解析。 2. DOM操作:...

    jsoup-annotations是Jsoup注解的POJO

    **JSoup库与JSoup-Annotations** JSoup是一款强大的Java库,专为处理HTML文档而设计,它提供了方便的API,使得抓取和解析HTML变得简单易行。JSoup能够模拟浏览器的行为,理解和构建DOM树,进而允许开发者通过CSS...

    org.jsoup.jar

    《深入理解Java库:Jsoup解析与应用》 在Java编程世界中,Jsoup是一个非常重要的库,尤其在处理HTML文档和数据抓取时。标题中的"org.jsoup.jar"是Jsoup库的核心组件,它是Jsoup项目的二进制发布形式,包含了所有...

    jsoup1.10.3包和jsoupApi帮助文档

    **jsoup1.10.3包和jsoupApi帮助文档** Jsoup是一个非常流行的Java库,用于处理和解析HTML。在IT行业中,特别是在Web爬虫和数据抓取领域,jsoup扮演着至关重要的角色。jsoup1.10.3是这个库的一个稳定版本,提供了...

    使用jsoup获取网页内容并修改

    **使用Jsoup获取网页内容并修改** Jsoup是一款强大的Java库,它允许开发者方便地解析、操作和提取HTML内容。在Android开发中,Jsoup常用于网页数据抓取和页面内容的处理。以下将详细解释如何使用Jsoup来实现这个...

    jsoup-1.11.3.jar

    `jsoup-1.11.3-javadoc.jar`包含了该版本的API文档,方便开发者查阅和理解每个方法的功能和用法,而`jsoup-1.11.3-sources.jar`则包含源代码,对于学习和调试Jsoup的内部实现非常有帮助。 Jsoup 的核心功能主要包括...

    jsoup的jar包

    **jsoup库详解** jsoup是一个Java库,它专注于处理HTML和XML文档,提供了一种简单、优雅的方式来抓取和操作网页数据。这个库的名字来源于"JavaScript Object Soup"的缩写,暗示了它能将HTML文档转化为易于操作的...

    org.jsoup 架包

    org.jsoup 架包

    Jsoup.jar 包及说明文档

    **Jsoup.jar 包及说明文档** Jsoup是一款在Java平台上广泛使用的HTML解析库,它的主要功能是解析HTML文档,并提供了强大的数据提取和操作能力。Jsoup的核心特性在于其能够模拟浏览器的行为,对HTML进行理解和解析,...

    jsoup基于java爬虫项目

    Jsoup的主要功能 1)从一个URL,文件或字符串中解析HTML 2)使用DOM或CSS选择器来查找、取出数据 3)可操作HTML元素、属性、文本 注意:jsoup是基于MIT协议发布的,可放心使用于商业项目。 Jsoup的主要功能 1)...

Global site tag (gtag.js) - Google Analytics