当前位置:首页 > Java

java如何解析html页面

2026-03-17 19:07:20Java

使用 Jsoup 解析 HTML

Jsoup 是一个流行的 Java HTML 解析库,能够方便地从 HTML 中提取数据或操作 DOM 结构。

引入 Jsoup 依赖(Maven):

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.16.1</version>
</dependency>

解析 HTML 字符串:

String html = "<html><head><title>示例</title></head><body><p>内容</p></body></html>";
Document doc = Jsoup.parse(html);
String title = doc.title();
Elements paragraphs = doc.select("p");

从 URL 加载 HTML:

Document doc = Jsoup.connect("https://example.com").get();

使用 Java 内置 XML 解析器

对于符合 XHTML 规范的文档,可以使用 Java 内置的 XML 解析器(如 DOM 或 SAX)。

java如何解析html页面

DOM 解析示例:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(html)));
NodeList nodes = doc.getElementsByTagName("p");

使用 HTMLCleaner

HTMLCleaner 是另一个轻量级 HTML 解析库,适合处理不太规范的 HTML。

引入依赖:

java如何解析html页面

<dependency>
    <groupId>net.sourceforge.htmlcleaner</groupId>
    <artifactId>htmlcleaner</artifactId>
    <version>2.29</version>
</dependency>

使用示例:

HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = cleaner.clean(new URL("https://example.com"));
Object[] nodes = node.evaluateXPath("//p");

使用 Jericho HTML Parser

Jericho 提供了流式解析能力,适合处理大型 HTML 文件。

引入依赖:

<dependency>
    <groupId>net.htmlparser.jericho</groupId>
    <artifactId>jericho-html</artifactId>
    <version>3.4</version>
</dependency>

使用示例:

Source source = new Source(new File("input.html"));
List<Element> elements = source.getAllElements("div");

选择解析器的考虑因素

  • Jsoup:最适合大多数场景,API 友好,支持 CSS 选择器
  • 内置 XML 解析器:仅适用于严格规范的 XHTML
  • HTMLCleaner:对畸形 HTML 容忍度较高
  • Jericho:适合流式处理大文件,内存效率高

对于现代 Java 项目,Jsoup 通常是首选方案,因其平衡了功能完备性和易用性。需要处理复杂选择器查询时,其 CSS 选择器支持能显著简化代码。

标签: 页面java
分享给朋友:

相关文章

vue页面分离的实现

vue页面分离的实现

Vue页面分离的实现方法 将Vue页面分离为多个组件或模块,有助于提升代码可维护性和复用性。以下是几种常见的实现方式: 组件化拆分 通过将页面拆分为多个子组件,每个组件负责特定功能或UI部分。使用i…

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Jav…

h5实现页面跳转页面

h5实现页面跳转页面

H5 实现页面跳转的方法 在 H5(HTML5)中,实现页面跳转可以通过多种方式完成,以下是常见的几种方法: 使用 <a> 标签 通过 HTML 的 <a> 标签实现页面跳转…

vue实现转页面

vue实现转页面

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,主要分为编程式导航和声明式导航两种。以下是具体实现方法: 使用 <router-link> 声明式导航 <r…

vue页面实现日历

vue页面实现日历

实现基础日历布局 使用Vue的模板语法构建日历的基本HTML结构,通常需要包含星期标题和日期格子。月份切换按钮可以通过v-on绑定事件。 <template> <div cla…