我尝试了几种方法(下图),我无法从每小时预报的天气预报中提取温度: http://weather.weatherbug.com/MA/Boston-weather/local-forecast/hourly-forecast.html?zcode=z6286&zip=02108
我正在使用JAVA / Jsoup。
临时表在表格中列为:<span>33° F</span>
。
我怀疑我的问题并不完全理解html。
它似乎位于标有<table cellspacing="0" id="hourly">
以下是我尝试过的一些没有运气的事情:
似乎我所尝试的一切都无法找到或“看到”表格。
doc=Jsoup.connect(urlString).get();
dataread = doc.body().text();
length = dataread.length();
System.out.printf("length = %d\n",length);
System.out.println(dataread);
以上是看我是否至少在轨道上 - 数据不在“dataread”中。
然后我尝试从以下组合打印结果:
Elements table = doc.select("table[class=hourly]");
Elements table = doc.getElementsByTag("boxhdr");
Elements byclass = doc.getElementsByClass("boxhdr");
System.out.println(table.size());
System.out.println(table);
我将解析进一步扩展到希望获得幸运的页面 - 使用boxhdr标签等等。
你能帮我提取温度吗?
谢谢!
答案 0 :(得分:0)
您要从中提取数据的表格包含 ID hourly
。
Elements table = doc.getElementById("hourly");
此外,表的内容可能是由Javascript生成的,并且无法使用Jsoup检索它。请参阅此thread。