📅  最后修改于: 2023-12-03 15:41:42.540000             🧑  作者: Mango
Jsoup 是一个 Java HTML 处理库,能够通过类似于 jQuery 选择器的语法,方便地从 HTML 文档中提取和操作数据。
使用 Jsoup 需要下载相应的 jar 包,可以在官方网站 https://jsoup.org/download 下载最新版本的 jar 包。
以下是一个简单的示例:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupDemo {
public static void main(String[] args) throws Exception {
// 定义需要解析的 URL
String url = "https://www.baidu.com/";
// 获取 Document 对象
Document doc = Jsoup.connect(url).get();
// 获取标题
String title = doc.title();
System.out.println("标题为:" + title);
// 获取所有链接
Elements links = doc.select("a[href]");
for (Element link : links) {
System.out.println(link.attr("href"));
}
}
}
通过选择器选取 HTML 元素,然后获取相应的内容,例如:
// 选取一个元素
Element element = doc.select("div.my-class").first();
String text = element.text(); // 获取元素文本
String html = element.html(); // 获取元素 HTML
String attr = element.attr("href"); // 获取元素属性
可以使用选择器对 HTML 内容进行过滤,例如:
Elements links = doc.select("a[href^=http://example.com]"); // 选取所有 href 属性以 http://example.com 开头的元素
Elements paragraphs = doc.select("p:has(a)"); // 选取所有包含 a 元素的 p 元素
可以从 HTML 内容中提取有价值的数据,例如:
// 获取百度首页的搜索框默认关键字
Element input = doc.select("input#kw").first();
String value = input.val();
Jsoup 是一个常用的 HTML 处理库,能够帮助开发者方便地提取和操作 HTML 数据。其灵活的选择器和强大的数据提取功能,使得解析 HTML 变得更加简单。