gpt4 book ai didi

java - 如何使用 jsoup 在 java 中提取/解析此 html 表?

转载 作者:行者123 更新时间:2023-11-29 04:25:30 26 4
gpt4 key购买 nike

我大致知道如何解析 jsoup 中的 html 表格,但我正在使用的表格位于网页中的某个位置,但我不知道如何访问它: https://finance.yahoo.com/calendar/earnings?symbol=nflx

这是带有收入日期的那个。

我知道你必须做

Document doc = Jsoup.connect("https://finance.yahoo.com/calendar/earnings?symbol=nflx").get();

然后在一个循环中:

for (Element table : doc.select("some string") {

如何获取表格所需的字符串?

最佳答案

你实际上并不需要用for (Element table : doc.select("some string") {遍历所有代码您可以直接从代码中获取表格。

为了能够获得该表,您首先需要使用您最喜欢的浏览器的开发人员工具检查代码(假设您使用的是具有该功能的浏览器)。像这样:

enter image description here

并确定您想要获取的元素,在您的情况下,特定表格是:

<table class="data-table W(100%) Bdcl(c) Pos(r) BdB Bdc($c-fuji-grey-c)" data-reactid="4">

获取它的代码是:

Document doc = Jsoup.connect("https://finance.yahoo.com/calendar/earnings?symbol=nflx")
.timeout(600000) //added timeout because my internet sucks
.get();
Elements tableDiv = doc.getElementsByAttributeValue("class", "data-table W(100%) Bdcl(c) Pos(r) BdB Bdc($c-fuji-grey-c)");

然后你有一个org.jsoup.select.Elements您可以在其中以相同方式解析的集合,使用方法从表中获取元素 getElementsBy[whateverAreAvailable]

这是一个如何只打印该表的示例:

tableDiv.forEach(tbody -> tbody.getElementsByTag("tbody")
.forEach(tr -> System.out.println(tr)));

使用您最喜欢的 IDE 找出要使用的方法。我认为这足以让您弄清楚去哪里。

关于java - 如何使用 jsoup 在 java 中提取/解析此 html 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46595330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com