2016-04-26 2 views
0

Прежде всего, я хотел бы упомянуть, что я новичок в HtmlUnit. Я пытаюсь найти веб-страницу и проанализировать ее содержимое. URL: https://secure.fattal.co.il/BE_Results.aspx?Lang=heb&In=2016-08-07&Out=2016-08-11&Region=2&Rooms=1&Ad1=2&Ch1=0&Inf1=0HtmlUnit Не удалось получить страницу - блок javascript

, но я закончил с яваскрипта содержание ниже:

<html><head><meta charset="utf-8"></head><body><script>window.rbzns = {fiftyeightkb: 43200000, days_in_week : 1};</script><script src="//d1a702rd0dylue.cloudfront.net/js/sugarman/v7/flat.js"></script><script>rbzns.challdomain=".fattal.co.il"; rbzns.ctrbg="NMdHaCamRWvRkFxSyeq856yW5EEmzuHN32UH9RoO3YoeT4HIU++m8k1QIpK0EQqM2RF/9vvBg5S4A3I18QPa4mRMEb+S4Fh3ZVljis2xiCe2tYg/zlUJMN5kVMgLQKw/mbEk8L77gcYBrz56tLIPxg==";rbzns.rbzreqid="fc167e1a3134363136353639343033970795be87d166"; winsocks(true);</script></body></html> 

Примечание: Я начал получать по URL с помощью jsoup анализатор, но ответ был тот же JavaScript.

После googling, на содержание javascript, я понимаю, что я должен использовать безгласный браузер, такой как HtmlUnit.

Но даже при использовании HtmlUnit для извлечения страницы содержимое javascript возвращается снова.

Ниже фракция:

String url = "https://secure.fattal.co.il/BE_Results.aspx?Lang=heb&In=2016-08-07&Out=2016-08-11&Region=2&Rooms=1&Ad1=2&Ch1=0&Inf1=0"; // hard coded just for example 
webClient = new WebClient(); 

// Get the first page 
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); 

webClient.getOptions().setThrowExceptionOnScriptError(false); 
webClient.getOptions().setRedirectEnabled(true); 
webClient.setJavaScriptTimeout(100000); 
webClient.waitForBackgroundJavaScript(100000); 

page = webClient.getPage(url); 
System.out.println(page.getWebResponse().getContentAsString()); 

Я ищу по всему для решения, без какого-либо конкретного ответа.

Любая помощь будет оценена

ответ

0

Хорошо, я это цифра.

Javascript источник я отправляю:

<html><head><meta charset="utf-8"></head><body><script>window.rbzns = {fiftyeightkb: 43200000, days_in_week : 1};</script><script src="//d1a702rd0dylue.cloudfront.net/js/sugarman/v7/flat.js"></script><script>rbzns.challdomain=".fattal.co.il"; rbzns.ctrbg="NMdHaCamRWvRkFxSyeq856yW5EEmzuHN32UH9RoO3YoeT4HIU++m8k1QIpK0EQqM2RF/9vvBg5S4A3I18QPa4mRMEb+S4Fh3ZVljis2xiCe2tYg/zlUJMN5kVMgLQKw/mbEk8L77gcYBrz56tLIPxg==";rbzns.rbzreqid="fc167e1a3134363136353639343033970795be87d166"; winsocks(true);</script></body></html> 

известный скрипт для проверки, если запрос пришел из браузера, а не какой-то бот или гусеничном шасси. Поскольку HtmlUnit поддерживает (частично) JavaScript, я меняю свой код на работу с Selenium.webdriver + phantomJS, и теперь он работает как шарм.

Смежные вопросы