您实际上并不需要遍历for (Element table : doc.select("some string") {
的所有代码,您可以直接从代码中获取表格。
为了能够获得表格,您需要首先使用您喜欢的浏览器的开发工具(假设您使用的是一个)来检查代码。就像这样:
,并确定你想要得到的元素,你的情况特定的表是:
<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,找出要使用的方法。我认为这足以让你找出去哪里。
谢谢!但是,我将html代码作为输出: