使用JSoup解析网站 - weatherbug

时间:2014-12-13 01:16:15

标签: java html parsing jsoup

我尝试了几种方法(下图),我无法从每小时预报的天气预报中提取温度: http://weather.weatherbug.com/MA/Boston-weather/local-forecast/hourly-forecast.html?zcode=z6286&zip=02108

我正在使用JAVA / Jsoup。

临时表在表格中列为:<span>33&deg; 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标签等等。

你能帮我提取温度吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您要从中提取数据的表格包含 ID hourly

 Elements table = doc.getElementById("hourly");

此外,表的内容可能是由Javascript生成的,并且无法使用Jsoup检索它。请参阅此thread