📅  最后修改于: 2023-12-03 15:06:31.513000             🧑  作者: Mango
在实际开发中,我们经常需要从 HTML 页面或 HTML 文件中提取所需的内容进行处理或分析。Java 作为一门优秀的编程语言,有很多工具和库可用于解析 HTML 文档,例如 Jsoup 等。本文将介绍如何使用 Jsoup 提取 HTML 文档中的内容。
Jsoup 是一款基于 Java 的 HTML 解析器,可以解析 HTML 页面、HTML 文件和 XML 文件,常用于爬虫开发和数据挖掘。Jsoup 实现了 jQuery 风格的选择器语法,方便开发者定位 HTML 元素并获取对应的内容。
首先需要在项目中引入 Jsoup 库,下载地址为:https://jsoup.org/download
通过下面的代码片段可以解析 HTML 文档:
Document doc = Jsoup.connect("http://example.com/").get();
此时,doc
对象即为 HTML 文档的根元素。
使用 jQuery 风格的选择器语法可以定位 HTML 元素。例如,获取所有带有 href 属性的链接元素,可以使用以下代码:
Elements links = doc.select("a[href]");
获取 HTML 元素的文本内容可以使用 Element.text()
方法。例如,获取第一个带有 href 属性的链接元素的文本内容,可以使用以下代码:
String linkText = links.first().text();
获取 HTML 元素的属性值可以使用 Element.attr()
方法。例如,获取第一个带有 href 属性的链接元素的 href 属性值,可以使用以下代码:
String linkHref = links.first().attr("href");
下面是一个简单的示例代码,展示了如何使用 Jsoup 提取 HTML 文档中的内容:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) throws Exception {
// 解析 HTML 文档
Document doc = Jsoup.connect("http://example.com/").get();
// 获取所有带有 href 属性的链接元素
Elements links = doc.select("a[href]");
// 获取第一个带有 href 属性的链接元素的文本内容
String linkText = links.first().text();
// 获取第一个带有 href 属性的链接元素的 href 属性值
String linkHref = links.first().attr("href");
// 输出结果
System.out.println("Link text: " + linkText);
System.out.println("Link href: " + linkHref);
}
}
本文介绍了使用 Jsoup 提取 HTML 文档中的内容的方法,通过实例代码展示了如何解析 HTML 文档、获取 HTML 元素、获取 HTML 元素的文本内容和属性值等。Jsoup 是一款方便易用的 HTML 解析器,为我们在实际开发中提取 HTML 内容提供了很大的便利。