📅  最后修改于: 2023-12-03 15:02:26.353000             🧑  作者: Mango
Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。它提供了类似于jQuery的语法以及强大的HTML处理工具。这份教程将会介绍如何使用Jsoup提取HTML文档中的文本内容。
在开始使用Jsoup之前,你需要先下载它。你可以在官方网站下载Jsoup的最新版本。
在下载完Jsoup之后,你需要将它添加到你的项目中。你可以将jsoup JAR文件导入你的项目,或者在Maven或Gradle的构建文件中添加Jsoup的依赖。
dependencies {
implementation 'org.jsoup:jsoup:1.13.1'
}
接下来,我们将看一些如何使用Jsoup提取HTML文档中的文本内容的例子。我们将使用Jsoup解析一个包含一系列HTML标签的HTML文档。
<html>
<head>
<title>Jsoup - 提取文本</title>
</head>
<body>
<h1>Jsoup - 提取文本</h1>
<p>Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。</p>
<ul>
<li>提供了类似于jQuery的语法以及强大的HTML处理工具</li>
<li>可以从HTML文档中提取数据</li>
<li>可以修改HTML文档中的数据</li>
</ul>
<table>
<tr>
<th>姓名</th>
<th>电话</th>
</tr>
<tr>
<td>张三</td>
<td>123456789</td>
</tr>
<tr>
<td>李四</td>
<td>987654321</td>
</tr>
</table>
</body>
</html>
你可以使用Jsoup提取HTML文档的标题。下面的例子将演示如何获取HTML文档的标题。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class Demo {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Jsoup - 提取文本</title></head><body><h1>Jsoup - 提取文本</h1><p>Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。</p><ul><li>提供了类似于jQuery的语法以及强大的HTML处理工具</li><li>可以从HTML文档中提取数据</li><li>可以修改HTML文档中的数据</li></ul><table><tr><th>姓名</th><th>电话</th></tr><tr><td>张三</td><td>123456789</td></tr><tr><td>李四</td><td>987654321</td></tr></table></body></html>";
Document document = Jsoup.parse(html);
String title = document.title();
System.out.println("Title: " + title); // 输出:Title: Jsoup - 提取文本
}
}
你可以使用Jsoup提取HTML文档中的文本内容。下面的例子将演示如何获取HTML文档中的h1元素的文本内容。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class Demo {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Jsoup - 提取文本</title></head><body><h1>Jsoup - 提取文本</h1><p>Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。</p><ul><li>提供了类似于jQuery的语法以及强大的HTML处理工具</li><li>可以从HTML文档中提取数据</li><li>可以修改HTML文档中的数据</li></ul><table><tr><th>姓名</th><th>电话</th></tr><tr><td>张三</td><td>123456789</td></tr><tr><td>李四</td><td>987654321</td></tr></table></body></html>";
Document document = Jsoup.parse(html);
Element h1 = document.select("h1").first();
String text = h1.text();
System.out.println("Text: " + text); // 输出:Text: Jsoup - 提取文本
}
}
你可以使用Jsoup提取HTML文档中的列表项。下面的例子将演示如何获取HTML文档中的ul元素的所有li子元素的文本内容。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Demo {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Jsoup - 提取文本</title></head><body><h1>Jsoup - 提取文本</h1><p>Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。</p><ul><li>提供了类似于jQuery的语法以及强大的HTML处理工具</li><li>可以从HTML文档中提取数据</li><li>可以修改HTML文档中的数据</li></ul><table><tr><th>姓名</th><th>电话</th></tr><tr><td>张三</td><td>123456789</td></tr><tr><td>李四</td><td>987654321</td></tr></table></body></html>";
Document document = Jsoup.parse(html);
Elements items = document.select("ul li");
for (Element item : items) {
String text = item.text();
System.out.println("Item: " + text); // 输出:Item: 提供了类似于jQuery的语法以及强大的HTML处理工具, Item: 可以从HTML文档中提取数据, Item: 可以修改HTML文档中的数据
}
}
}
你可以使用Jsoup提取HTML文档中的表格数据。下面的例子将演示如何获取HTML文档中的table元素的所有td子元素的文本内容。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Demo {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Jsoup - 提取文本</title></head><body><h1>Jsoup - 提取文本</h1><p>Jsoup是一款用于Java编程语言的HTML解析器库,用于从HTML文档中提取和操作数据。</p><ul><li>提供了类似于jQuery的语法以及强大的HTML处理工具</li><li>可以从HTML文档中提取数据</li><li>可以修改HTML文档中的数据</li></ul><table><tr><th>姓名</th><th>电话</th></tr><tr><td>张三</td><td>123456789</td></tr><tr><td>李四</td><td>987654321</td></tr></table></body></html>";
Document document = Jsoup.parse(html);
Elements rows = document.select("table tr");
for (Element row : rows) {
Elements columns = row.select("td");
if (columns.size() > 0) {
String name = columns.get(0).text();
String phone = columns.get(1).text();
System.out.println("Name: " + name + ", Phone: " + phone); // 输出:Name: 张三, Phone: 123456789, Name: 李四, Phone: 987654321
}
}
}
}
Jsoup是一款非常强大的HTML解析器库。它提供了类似于jQuery的语法以及强大的HTML处理工具。通过该教程,你应该已经学会了如何使用Jsoup提取HTML文档中的文本内容。