📅  最后修改于: 2023-12-03 15:17:05.110000             🧑  作者: Mango
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" 的元素,并输出其内容。
static Document parse(String html)
该方法可以将 HTML 字符串解析为 Document
对象。
String html = "<div><p>Hello, Jsoup!</p></div>";
Document doc = Jsoup.parse(html);
Element getElementById(String id)
该方法可以根据元素的 id 获取该元素。
Element ele = doc.getElementById("someId");
Elements getElementsByTag(String tag)
该方法可以获取该元素下指定标签的所有子元素。
Elements eles = doc.getElementsByTag("p");
Elements getElementsByClass(String className)
该方法可以获取该元素下指定类名的所有子元素。
Elements eles = doc.getElementsByClass("someClass");
以上就是本文对 Jsoup 解析字符串的介绍及使用方法。Jsoup 提供了非常方便的 API,使得从 HTML 中提取数据变得非常简便。使用 Jsoup 可以轻松地从 HTML 文档中提取所需的数据,抓取网站数据等。需要注意的是,在使用 Jsoup 解析 HTML 时要保证 HTML 结构的正确性,否则可能会出现解析错误。