
JSoup 是一个开源的 Java HTML 解析器库,可以用来解析、遍历、填充表单和修改 HTML 文档。它可以非常方便地从 HTML 中提取数据,是爬虫程序中常用的解析工具之一。
首先,我们需要在项目中导入 JSoup 的 JAR 文件。可以通过在 Maven 项目中添加以下依赖项来实现:
```xml
org.jsoup
jsoup
1.13.1
```
现在,我们可以开始使用 JSoup 解析 HTML 了。下面是一个简单的示例:
```java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) {
try {
// 从 URL 加载 HTML
Document doc = Jsoup.connect("http://example.com").get();
// 从文件加载 HTML
// Document doc = Jsoup.parse(new File("htmlFile.html")
"UTF-8");
// 从字符串加载 HTML
// Document doc = Jsoup.parse(htmlString);
// 选择器语法:获取所有标题
Elements titles = doc.select("h1");
for (Element title : titles) {
System.out.println(title.text());
}
// 选择器语法:获取所有链接
Elements links = doc.select("a[href]");
for (Element link : links) {
System.out.println(link.attr("href"));
}
// 获取特定元素的属性值
Element image = doc.select("img").first();
String imageUrl = image.attr("src");
System.out.println(imageUrl);
// 遍历所有的表格行,并获取单元格数据
Elements rows = doc.select("table tr");
for (Element row : rows) {
Elements cells = row.select("td");
for (Element cell : cells) {
System.out.println(cell.text());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上是一个简单的使用 JSoup 的示例代码。它展示了如何使用 JSoup 从网页中提取标题、链接、图片地址等数据,并且还演示了如何遍历表格行和获取单元格数据。
JSoup 还提供了更多的功能和选项,可以根据具体的需求选择使用。可以查看 JSoup 的官方文档(https://jsoup.org/)了解更多详细的用法。
总结起来,JSoup 是一个强大的 HTML 解析库,可以帮助我们轻松地从 HTML 中提取数据。它在爬虫、数据采集、网页内容分析等方面非常有用,希望以上的解释对你有所帮助。