首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSoup与Wunderground数据

JSoup与Wunderground数据
EN

Stack Overflow用户
提问于 2014-05-14 19:03:47
回答 2查看 123关注 0票数 0

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

我已经使用Chrome工具导航了HTML,并找到了我想要的具体行。使用文档提供的JSoup,我尝试了自己的自定义CSS选择器,但我是完全迷路了。

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

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

代码语言:javascript
复制
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);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-14 19:24:34

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

您想要的是select first <td>levels类。你可以通过

代码语言:javascript
复制
Element tag = doc.select("td.levels").first();

此外,为了只获取将使用此标记(而不是整个HTML)生成的文本,请使用text()方法,如下

代码语言:javascript
复制
System.out.println(tag.text());
票数 0
EN

Stack Overflow用户

发布于 2014-05-14 19:35:14

代码语言:javascript
复制
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());
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23663012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档