Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java html解析器多页表_Java_Html_Html Parser - Fatal编程技术网

java html解析器多页表

java html解析器多页表,java,html,html-parser,Java,Html,Html Parser,我使用Jsoup作为html解析器来获取本文表中的所有细节。使用下面的代码,我只能获得第一页的数据。有什么建议吗 publicstaticvoidmain(字符串[]args){ 字符串html=”http://www.fifa.com/worldranking/rankingtable/index.html#"; 试一试{ Document doc=Jsoup.connect(html.get(); 元素表元素=文件选择(“表格”); Elements tableHeaderles=table

我使用Jsoup作为html解析器来获取本文表中的所有细节。使用下面的代码,我只能获得第一页的数据。有什么建议吗

publicstaticvoidmain(字符串[]args){
字符串html=”http://www.fifa.com/worldranking/rankingtable/index.html#";
试一试{
Document doc=Jsoup.connect(html.get();
元素表元素=文件选择(“表格”);
Elements tableHeaderles=tableElements.select(“thead tr th”);
System.out.println(“标题”);
系统输出打印(“行”);
对于(int i=0;i

JSoup是一个HTML解析器,但查看网站时使用javascript加载表。所以你需要点击它

您可以使用HTMLUnit或Selenium for navigate和JSoup来解析HTML

我希望有帮助

编辑:

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

我改变URL的值,看看排名u可以增加(是排名的日期),重要的是页面。您可以通过增加页面参数来加载所有排名。那么用JSoup解析就足够了

例如,最后的排名是:

然后您可以增加参数page=2,然后是3。。。到7点


干杯。

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