您實際上並不需要遍歷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代碼作爲輸出: