jsoup 是一款 Java 的 HTML 解析器,可直接解析HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup API文档:http://tool.oschina.net/apidocs/apidoc?api=jsoup-1.6.3 jsoup的作用: 1、可以根据URL、本地文件和字符串解析HTML的内容 2、可以使用DOM、JQuery选择器来查找获取元素 3、可以操作元素、文本、属性
maven依赖:
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.3</version> </dependency>jsoup继承的层次结构:
Document对象(一个文档的对象模型):文档由多个Elements、TextNodes、其他辅助nodes组成。继承关系如上图所示。
一、从字符串中解析html内容
无论html内容是否完整,它可以处理: a、没有关闭的标签 b、隐式标签 c、创建可靠的文档结构,html中包含head和body。
1、处理不完整的html内容
public static void main(String[] args) { //不完整的html内容 String html="<div><a href=\"www.baidu.com\"><h1>你好 JSOUP"; Document doc= Jsoup.parseBodyFragment(html); //第二种方式 //Document doc=Jsoup.parse(html); //获取body的所有子元素 System.out.println(doc.body()); } 结果: <body> <div> <a href="www.baidu.com"><h1>你好 JSOUP</h1></a> </div> </body>parseBodyFragment()方法创建一个空壳的文档,并将解析的html内容放到body中。可以保证用户提供的html内容可以被解析为body元素。
parse(html,baseUri)能够将html解析为一个文档document,参数baseUri将相对路径转为绝对路径。