这可能是一个愚蠢的问题,但我真的无法弄清楚。我正在尝试解析页面的 html 输出:http://meteo.uwb.edu.pl/
所以基本上我需要从表中提取值,从左侧(蓝色文本)作为键(标题),从右侧(棕色文本)作为值。另外,标题标签(“Aktualna pogoda/天气条件:”)
我的目的是从html输出中获取html表,然后解析它的行,但我无法弄清楚,因为html输出相当复杂。我从它开始:
doc = Jsoup.connect("http://meteo.uwb.edu.pl/").get();
Elements tables = doc.select("table");
for (Element row : table.select("tr"))
{
Elements tds = row.select("td:not([rowspan])");
System.out.println(tds.get(0).text() + "->" + tds.get(1).text());
}
但我的结果仍然是一团糟。您有什么想法如何正确解析它吗?
最佳答案
可以通过以下代码检索第一个表中的键数据:
doc.select("table").get(1).select("tbody").get(1).select("tr").get(1).select("td").get(0).select("b")
和值(value):
doc.select("table").get(1).select("tbody").get(1).select("tr").get(1).select("td").get(1).select("b")
第二个表
doc.select("table").get(2).select("tbody").get(0).select("tr").get(1).select("td").get(0).select("b")
和
doc.select("table").get(2).select("tbody").get(0).select("tr").get(1).select("td").get(1).select("b")
关于java - Jsoup,解析html表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617579/