Данные, которые вы ищете, присутствуют на отдельных страницах - у каждого бойца есть своя собственная страница, поэтому вы должны сканировать все страницы одну за другой, чтобы получить данные.
Сначала вы должны получить ссылку для каждой страницы. , с помощью селектора h2 > a[href]
:
String url = "https://www.sherdog.com/news/rankings/2/Sherdogs-Official-Mixed-Martial-Arts-Rankings-164999";
Document document = Jsoup.connect(url).get();
Elements fighters = document.select("h2 > a[href]");
for (Element fighter : fighters) {
System.out.println(fighter.text() + " " + fighter.attr("href"));
}
После этого вы можете загрузить каждую страницу и извлечь данные:
String fighterUrl = "https://www.sherdog.com" + fighter.attr("href");
Document doc = Jsoup.connect(fighterUrl).get();
Element fighterData = doc.select("div.data").first();
System.out.println(fighterData.text());
Объединяя вместе, вы получаете:
String url = "https://www.sherdog.com/news/rankings/2/Sherdogs-Official-Mixed-Martial-Arts-Rankings-164999";
Document document = Jsoup.connect(url).get();
Elements fighters = document.select("h2 > a[href]");
for (Element fighter : fighters) {
System.out.println(fighter.text());
String fighterUrl = "https://www.sherdog.com" + fighter.attr("href");
Document doc = Jsoup.connect(fighterUrl).get();
Element fighterData = doc.select("div.data").first();
System.out.println(fighterData.text());
System.out.println("---------------");
}
И (частичный) выход составляет:
Стайп Миоцик Родился: 1982-08-19 ВОЗРАСТ: 37 лет Независимости, США Рост 6'4 "193,04 см Вес 245 фунтов 111,13 кгАссоциация: Strong Style Fight Team Класс: Тяжелый вес Побед 19 15 нокаутов (нокаутов) (79%) 0 решений (0%) 4 решения (21%) Потери 3 2 нокаутов (67%) 0 решений (0%) 1 решения (33%. KO / TKO (45%) 5 ПРЕДСТАВЛЕНИЙ (23%) 7 РЕШЕНИЙ (32%) Потери 2 1 KO / TKO (50%) 0 ПРЕДСТАВЛЕНИЙ (0%) 1 РЕШЕНИЯ (50%) N / C 1
Если вы хотите получить возраст, ассоциацию и, таким образом, отдельные поля, вам придется извлечь ихс регулярным выражением.