Код не может найти строку на сайте

Я пытался найти строку и распечатать ее на этом сайте: http://www.easports.com/player-hub/360/Its+McDoom

Прямо сейчас он распечатывает все на сайте, но я не могу найти строку, которую я ищу. Я пытаюсь распечатать "Очки умений H2h: 1053", но я не могу найти ничего подобного в консоли.

Я действительно хочу, чтобы он напечатал эту 1 строку, а не все, но я даже не могу ее найти.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;



public class ElectronicArtsStatHub {

    /**
     * @param args
     */
    public static void main (String[] args) throws Exception{
            URL oracle = new URL("http://www.easports.com/player-hub/360/Its+McDoom");
            URLConnection yc = oracle.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
            in.close();

    }
}

1 ответ

Первая проблема заключается в том, что информация, которую вы пытаетесь найти, на самом деле не находится в данных, которые вы выводите в данный момент.

Когда вы открываете страницу в своем браузере, вы получаете элементы главной страницы, но затем ваш браузер запускает некоторый код Javascript, который предположительно использует AJAX для получения статистики и заполнения таблицы.

URLConnection получает те же данные, что и ваш браузер, и не выполняет Javascript, поэтому, если вы проверяете вывод, то данных, которые вы ищете, на самом деле вообще нет.

Возможные решения включают поиск другого источника для этих данных или выполнение Javascript в Java, возможно, с использованием HTMLUnit.

Может быть некоторая полезная информация по этому связанному вопросу

Другие вопросы по тегам