📜  从 HTML 文档中提取内容的Java程序(1)

📅  最后修改于: 2023-12-03 15:06:31.513000             🧑  作者: Mango

从 HTML 文档中提取内容的 Java 程序

在实际开发中,我们经常需要从 HTML 页面或 HTML 文件中提取所需的内容进行处理或分析。Java 作为一门优秀的编程语言,有很多工具和库可用于解析 HTML 文档,例如 Jsoup 等。本文将介绍如何使用 Jsoup 提取 HTML 文档中的内容。

Jsoup 简介

Jsoup 是一款基于 Java 的 HTML 解析器,可以解析 HTML 页面、HTML 文件和 XML 文件,常用于爬虫开发和数据挖掘。Jsoup 实现了 jQuery 风格的选择器语法,方便开发者定位 HTML 元素并获取对应的内容。

如何使用 Jsoup 提取 HTML 内容
1. 引入 Jsoup 库

首先需要在项目中引入 Jsoup 库,下载地址为:https://jsoup.org/download

2. 解析 HTML 文档

通过下面的代码片段可以解析 HTML 文档:

Document doc = Jsoup.connect("http://example.com/").get();

此时,doc 对象即为 HTML 文档的根元素。

3. 获取 HTML 元素

使用 jQuery 风格的选择器语法可以定位 HTML 元素。例如,获取所有带有 href 属性的链接元素,可以使用以下代码:

Elements links = doc.select("a[href]");
4. 获取 HTML 元素的文本内容

获取 HTML 元素的文本内容可以使用 Element.text() 方法。例如,获取第一个带有 href 属性的链接元素的文本内容,可以使用以下代码:

String linkText = links.first().text();
5. 获取 HTML 元素的属性值

获取 HTML 元素的属性值可以使用 Element.attr() 方法。例如,获取第一个带有 href 属性的链接元素的 href 属性值,可以使用以下代码:

String linkHref = links.first().attr("href");
6. 示例代码

下面是一个简单的示例代码,展示了如何使用 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 内容提供了很大的便利。