JSoup与Wunderground Pollen数据

时间:2014-05-14 19:03:47

标签: java web-scraping jsoup

我目前正在从wunderground中抓取花粉数据,因为他们的API访问者不提供花粉数据,特别是每天的值。

我使用Chrome开发工具浏览了HTML,找到了我想要的特定行。使用JSoup提供的documentation,我尝试使用自己的自定义CSS选择器,但我很遗憾。

我想知道是否有人会给我一些关于如何访问该特定元素的见解。

例如,下面是我到目前为止所拥有的一个例子。

doc = Jsoup.connect("http://www.wunderground.com/DisplayPollen.asp?Zipcode=19104").get();
Element title = doc.getElementById("td");
Element tagName = doc.tagName("id");
System.out.println(tagName);

enter image description here

2 个答案:

答案 0 :(得分:0)

您不想使用doc.getElementById("td"),因为<td>不是id 属性,而是标记(也是{{ 1}}不支持CSS查询)。

您希望getElementById首先select使用课程<td>。你可以通过

来做到
levels

另外,要仅获取将使用此标记(而非整个HTML)生成的文本,请使用{/ 1}}方法

Element tag = doc.select("td.levels").first();

答案 1 :(得分:0)

Document doc = Jsoup.connect("http://www.wunderground.com/DisplayPollen.asp?Zipcode=19104").get();

Elements days = doc.select("table.pollen-table").first().select("td.even-four");
for (Element day : days) {
    System.out.println(day.text());
}


Elements levels = doc.select("td.levels");
for (Element level : levels) {
    System.out.println(level.text());
}