试图从网站中提取信息但某些值显示为空?

时间:2016-05-29 23:34:01

标签: java html jsoup

我一直在和JSoup一起工作和测试一段时间,这个问题已经让我感到困扰了一段时间。

http://fx.sauder.ubc.ca/today.html

目前这个类假定从这个网站的表中提取信息,这个程序可以从表中提取的唯一内容是

Code    |    Currency   |    fcu/CAD    |    fcu/USD    |    Code   |    Currency   |    fcu/CAD    |    fcu/USD 

以及网站上显示的所有3个字母代码,但对于所有其他信息(如值和美元名称),程序将这些显示为null。如果有人想知道px上升到34并且ay上升到16,因为这是我将从中提取的表的大小。

public String CountryHandler2(int px, int ay) throws IOException{
    String url = "http://fx.sauder.ubc.ca/today.html";
    Document doc = Jsoup.connect(url).get();
    Elements paragraphs = doc.select("body > table:nth-child(4) > tbody:nth-child(1) > tr:nth-child("+px+") > td:nth-child("+ay+") > font:nth-child(1) > b:nth-child(1)");

    System.out.println("Paragraphs " + paragraphs.text());
    if(paragraphs.hasText()){  
        return paragraphs.text();
    }
    return null;
}

1 个答案:

答案 0 :(得分:0)

我尝试了这个并且能够提取表格数据。可能是你这样试试。

    public static void main (String [] args) throws IOException{
       Document doc = Jsoup.connect("http://fx.sauder.ubc.ca/today.html").get();
       Element table = doc.select("table").get(2); //get the 3rd table
       Elements trs = table.select("tr"); //get each row of that table
       for (Element e: trs){
          System.out.println(e.text());
       }
    }