惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - 灌木大叔

win10LTCS2021下载激活 程序员在线工具 宽带、IPTV及语音共享同一根网线传输原理 NFS与iSCSI Target性能比较 VMware vSphere安装 chrome插件脚本background_script和content_script chrome跨域设置 html5ajax上 传文件代码 Proxmox Virtual Environment(简称PVE)介绍 openwrt(LEDE)路由器简单设置 无损压缩FLAC,APE与WAV 创新的出路 走进作坊 团队--动物世界 vs2010+转换到 COFF 期间失败 windows删除用户时用户不属于此组 word无法创建工作文件,IE打开网页很慢 linux进程VIRT虚拟内存数值高 Java命令如何编译项目 UML(统一建模语言)应用 UML(统一建模语言)类关系
java解析html的table元素
灌木大叔 · 2024-04-22 · via 博客园 - 灌木大叔

java解析html的table元素

解析HTML Table 元素的 Java 实现
在网页开发中,HTML 的 Table 元素是用来展示数据的一种常见方式。有时候我们需要从网页中提取表格中的数据,这就需要使用 Java 对 HTML Table 进行解析。本文将介绍如何使用 Java 实现对 HTML Table 元素的解析,以及一些常见的操作方法。

使用 Jsoup 解析 HTML
在 Java 中,我们可以使用 Jsoup 这个工具库来解析 HTML。Jsoup 提供了简洁的 API,方便我们对 HTML 文档进行解析和操作。

首先,我们需要在 Maven 项目中添加 Jsoup 的依赖:

org.jsoup jsoup 1.13.1

接下来,我们可以使用 Jsoup 提供的 API 来解析 HTML。假设我们有一个包含表格的 HTML 文档:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class HtmlParser {
    public static void main(String[] args) throws Exception {
        String html = "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>";
        Document doc = Jsoup.parse(html);
        
        Element table = doc.select("table").first();
        
        Elements rows = table.select("tr");
        for (Element row : rows) {
            Elements cells = row.select("td");
            for (Element cell : cells) {
                System.out.print(cell.text() + "\t");
            }
            System.out.println();
        }
    }
}

以上代码会输出表格中的数据:

1 2
3 4
表格数据操作
除了解析表格数据,我们还可以对表格进行一些操作,比如筛选特定的行或列,修改数据等等。下面是一些常见的操作方法:

筛选特定的行或列

// 筛选第一行数据
Element firstRow = rows.get(0);
System.out.println(firstRow.text());

// 筛选第一列数据
for (Element row : rows) {
    Elements cells = row.select("td:first-child");
    System.out.println(cells.text());
}

修改数据

// 修改第一行第一列的数据
Element cell = rows.get(0).select("td").get(0);
cell.text("5");
System.out.println(cell.text());