利用 jsoup 解析 html内容

本文介绍了jsoup作为Java的HTML解析器,它允许通过DOM、CSS和jQuery方式操作HTML内容。jsoup能处理不完整的HTML,提供parseBodyFragment()和parse()方法,确保解析的文档结构可靠,同时解析时会将相对路径转换为绝对路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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将相对路径转为绝对路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值