В настоящее время я пытаюсь получить таблицу и ее содержимое/форматирование из википедии с помощью 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();
}
}
}