📜  jsoup-解析字符串(1)

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

使用 Jsoup 解析字符串

简介

Jsoup 是一个开源的 Java HTML 解析器,可以轻松地从 HTML 文档中提取所需的数据。它可以处理各种 HTML 标记,并且具有一些有用的工具类,使得从 HTML 中提取数据变得非常简便。

Jsoup 可以将字符串或从 URL 中读取的 HTML 文档解析为 Document 对象,然后用户可以使用 CSS 选择器等方式从文档中获取需要的数据。

代码示例
解析字符串

以下示例代码演示了如何使用 Jsoup 解析字符串:

String html = "<html><head><title>Jsoup Example</title></head>"
            + "<body><div id=\"content\">"
            + "<h1>Hello, Jsoup!</h1>"
            + "<p>Jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.</p>"
            + "</div></body></html>";

Document doc = Jsoup.parse(html);
Element content = doc.getElementById("content");
System.out.println(content.text());

解析结果:

Hello, Jsoup!
Jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.

在上面的示例中,我们首先创建一个 HTML 字符串,它包含一个标题、一段文字和一个 div 元素。然后我们使用 Jsoup.parse 方法将该字符串解析为 Document 对象。我们可以使用 getElementById 方法获取该文档中 id 为 "content" 的元素,并输出其内容。

语法
Jsoup.parse

static Document parse(String html)

该方法可以将 HTML 字符串解析为 Document 对象。

String html = "<div><p>Hello, Jsoup!</p></div>";
Document doc = Jsoup.parse(html);
Document.getElementById

Element getElementById(String id)

该方法可以根据元素的 id 获取该元素。

Element ele = doc.getElementById("someId");
Element.getElementsByTag

Elements getElementsByTag(String tag)

该方法可以获取该元素下指定标签的所有子元素。

Elements eles = doc.getElementsByTag("p");
Element.getElementsByClass

Elements getElementsByClass(String className)

该方法可以获取该元素下指定类名的所有子元素。

Elements eles = doc.getElementsByClass("someClass");
结语

以上就是本文对 Jsoup 解析字符串的介绍及使用方法。Jsoup 提供了非常方便的 API,使得从 HTML 中提取数据变得非常简便。使用 Jsoup 可以轻松地从 HTML 文档中提取所需的数据,抓取网站数据等。需要注意的是,在使用 Jsoup 解析 HTML 时要保证 HTML 结构的正确性,否则可能会出现解析错误。