Дело в том, что я пытаюсь получить html-документ с классом Jsoup, и я понимаю, что документ, который я получаю с использованием Jsoup.connect
, не совсем похож на документ, который я получаю, если я напрямую загружаю это с веб-браузером.Получить html документ programmaticaly, имитирующий веб-браузер
Пример:
Я хочу контролировать цены на статью. Я получаю HTML документы «Icecat» с помощью:
Jsoup.connect("http://icecat.es/es/p/sony/mdr-as200-blk/auriculares-0027242861022-Sony-MDR-AS200-18145805.html?ti=offers")
.userAgent(userAgentString).timeout(5000)
.followRedirects(true).execute();
(userAgentString
: Я попытался с различными из них)
Но документ я не располагает информацией о ценах, вкладка с информация появляется «неактивно».
В противном случае, если я попытаюсь загрузить его с помощью любого веб-браузера, на странице будет показана таблица цен.
Bonus вопрос
Я получаю такое же поведение, пытаясь получить результат страницы Google. Ввод непосредственно в веб-браузере https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#tbm=shop&q=Sony+MDR-AS200 в порядке, но, получив его с помощью java, я перенаправлен на домашнюю страницу google. Я знаю TOS Google, но я не хочу делать массивный синтаксический анализ.
Возможно, стоит упомянуть HtmlUnit (у которого есть драйвер Selenium). – chrylis