我正在尝试从下面的代码中获取网站上的信息,该网站有一个表格,在该表格中是特定区域的“潮汐”时间,当我尝试使用jsoup来获取该时间时返回分配数据,但没有一个是我想要的时间。
如何选择该数据?
代码:
docTide =
Jsoup.connect(
"http://www.tide-forecast.com/locations/Falmouth-England/tides/latest" )
.timeout(600000).get();
Elements tideTableRows = docTide.select("table.tide tr:eq(1), td:eq(1)");
tideTimes = tideTableRows.text();
System.out.println(tideTimes);
答案 0 :(得分:1)
带有id="Tide"
的表格用Javascript填充,JSoup报告静态DOM,而不是动态DOM。解决问题的另一种方法是使用浏览器的附加组件来调查Javascript提供的“实时”DOM。
<div align="center" class="not_in_print">
<h2>Today's tide times for Falmouth, England</h2>
<table id="tide">
<tr>
<th> </th>
<th>Time now:</th>
<th>Next HIGH tide</th>
<th>Next LOW tide</th>
</tr>
<tr>
<th>Local time</th>
<td><input type="text" value="" name="localtime" id="localtime"/></td>
<td><input type="text" value="" name="hightime" id="hightime"/></td>
<td><input type="text" value="" name="lowtime" id="lowtime"/></td>
</tr>
<tr>
<th>Countdown</th>
<td> </td>
<td><input type="text" value="" name="highcountdown" id="highcountdown"/></td>
<td><input type="text" value="" name="lowcountdown" id="lowcountdown"/></td>
</tr>
</table>
资源: