有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JSoup与Wunderground花粉数据

我目前正在从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) 个答案

  1. # 1 楼答案

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

    您想要的是使用类levels首先<td>。你可以通过

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

    另外,要仅获取使用此标记生成的文本(而不是整个HTML),请使用text()方法,如

    System.out.println(tag.text());
    
  2. # 2 楼答案

    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());
    }