2016-12-13 6 views
0

В настоящее время я пытаюсь получить таблицу и ее содержимое/форматирование из википедии с помощью jsoup. Однако, когда я запускаю этот код, я получаю сообщение об ошибке в строке 29:Как получить содержимое определенного элемента html в Jsoup?

Исключение в потоке «основного» java.lang.NullPointerException на project.wikiclass.main (wikiclass.java:29)

Я не знаю, как получить данные. Имя, которое я использую в настоящее время, кажется неправильным. Таблица по адресу:

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

В инспектировать элемент наружный элемент необходим называется <table border="0">.

Однако я не могу получить элемент по id, используя границу имени. Если кто-нибудь скажет мне, как получить этот элемент или что это настоящее имя, это будет полезно. Элемент можно найти, перейдя на связанную страницу и выделив список имен и используя элемент проверки.

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

Я думаю, что у вас есть NPE, потому что Jsoup не может найти этот элемент.

Вы можете попробовать это

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

Тогда итерацию для Чеха элемента и получить информацию