【问题标题】:java html parser multi page tablejava html解析器多页表
【发布时间】:2014-04-17 23:28:57
【问题描述】:

我使用 Jsoup 作为 html 解析器来从这个 website 的表中获取所有详细信息。使用下面的代码只能获取第一页上的数据。有什么建议吗?

   public static void main(String[] args) {
   String html = "http://www.fifa.com/worldranking/rankingtable/index.html#";
   try {
     Document doc = Jsoup.connect(html).get();        
     Elements tableElements = doc.select("table");

     Elements tableHeaderEles = tableElements.select("thead tr th");
     System.out.println("headers");
     System.out.print("row");
     for (int i = 0; i < tableHeaderEles.size(); i++) {
        System.out.print(tableHeaderEles.get(i).text() + " | ");
     }
     System.out.println();

     Elements tableRowElements = tableElements.select(":not(thead) tr");

     for (int i = 0; i < tableRowElements.size(); i++) {
        Element row = tableRowElements.get(i);
        System.out.print("row");           
        Elements rowItems = row.select("td");
        for (int j = 0; j < rowItems.size(); j++)         
        {                              
           System.out.print(rowItems.get(j).text() + " | ");                              
        }
        System.out.println();
     }

  } catch (IOException e) {
     e.printStackTrace();
  }    }

【问题讨论】:

  • 我不知道这是否有帮助...但是请尝试阅读此答案:stackoverflow.com/questions/21377942/…>

标签: java html html-parser


【解决方案1】:

JSoup 是一个 HTML 解析器,但是看网站是使用 javascript 来加载表格的。所以你需要点击进去。

您可以使用 HTMLUnit 或 Selenium 进行导航,使用 JSoup 解析 HTML。

希望对你有帮助。

编辑:

在页面的代码中看起来更好。我认为它可能很有用:

http://www.fifa.com/worldranking/rankingtable/gender=m/rank=100/confederation=0/page=0/_ranking_table.html

我更改了 URL 的值,看看你可以增加的排名(是排名的日期),重要的是页面。您可以加载所有增加页面参数的排名。然后用 JSoup 解析就足够了。

例如,最后的排名是: http://www.fifa.com/worldranking/rankingtable/gender=m/rank=237/confederation=0/page=1/_ranking_table.html

然后你可以增加参数 page=2, 然后 3, ... 直到 7

干杯。

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多