2016-12-13 15 views
0

私は現在、テーブルを取得しようとしています、そして、それはjsoupを使ってwikipediaからの内容/書式です。Jsoupで特定のhtml要素の内容を取得する方法は?

スレッドでの例外project.wikiclass.mainで "メイン" のjava.lang.NullPointerException(wikiclass.java:29)

:私はこのコードを実行するときしかし、私は29行でエラーが出ます私はデータを入手する方法を知らない。私が現在使っている名前は正しいとは思われません。テーブルはである:

https://en.wikipedia.org/wiki/Liverpool_F.C.#First-team_squad

で必要最外要素が<table border="0">呼ばれる要素を検査。

しかし、私は名前の境界線を使ってidで要素を取得できません。誰かがこの要素を取得する方法や実際の名前を教えてくれれば助けになるだろう。リンクされたページに行き、名前のリストを強調表示し、inspect要素を使用することによって、要素を見つけることができます。

import java.io.IOException;  
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class wikiclass { 

    public static void main(String[] args) { 

    Document doc; 
    try { 

     // need http protocol 
     doc = Jsoup.connect("https://en.wikipedia.org/wiki/Liverpool_F.C.").get(); 

     // get page title 
     String title = doc.title(); 
     System.out.println("title : " + title); 

     //make html file 
     StringBuffer html = new StringBuffer(); 

     // get all links 
     String table = doc.getElementById("border").outerHtml(); 
     System.out.println(table); 
     /*for (Element link : links) { 

      // get the value from href attribute 
      System.out.println("\nlink : " + link.attr("href")); 
      System.out.println("text : " + link.text()); 

     }*/ 

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

    } 

} 

答えて

1

Jsoupがこの要素を検出できないため、NPEがあると思います。

あなたはECH要素の反復処理し、情報

を取得後、この

Elements table = doc.select("div#bodyContent table.infobox"); 

を試すことができます

関連する問題