Привет народ.
Суть вопроса: парсю сайт с помощью Jsoup. Jsoup упорно отказывается видеть id таблицы, более того, она скрыта вся (в браузере вся структура документа видна).
Данные в таблице обновляются раз в минуту. Иду по второму сценарию сохраняю страницу локально на свой комп и все нормально все парсится, все работает. Что это и как можно обойти проблему?
Спасибо за внимание к вопросу.
С помощью Jsoup непосредственно не получится спарсить требуемую информацию с данной страницы, потому как она генерируется динамически, насколько я понимаю, при помощи PHP.
Однако решение таки есть:
Берем любой сниффер и смотрим, что происходит в процессе загрузки страницы. Для простоты можно использовать средство, встроенное в Google Chrome: нажимаем Ctrl + Shift + I, переходим во вкладку Network, перезагружаем страницу и ловим момент, в который загружается таблица. Во время загрузки таблицы во вкладке Network видим следующее:
Как видно из скриншота, таблица генерируется с помощью PHP. Далее берем URL и переходим по нему в браузере:
http://hrk.aero/table/ajax_tablo_new.php?lang=ru&full=1&first=1
И, о чудо, отображается требуемая таблица.
Далее используем полученный URL в Jsoup:
public class Main {
public static void main(String[] args) throws IOException {
Document page = Jsoup.connect("http://hrk.aero/table/ajax_tablo_new.php?lang=ru&full=1&first=1").get();
System.out.println(page);
}
}
И в консоли видим HTML-код требуемой таблицы:
Осталось лишь распарсить эту таблицу. Это, насколько я понимаю, Вы умеете.
Продвижение своими сайтами как стратегия роста и независимости