Код не может найти строку на сайте
Я пытался найти строку и распечатать ее на этом сайте: 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.
Может быть некоторая полезная информация по этому связанному вопросу