HtmlUnit - очистка данных - PullRequest
       9

HtmlUnit - очистка данных

0 голосов
/ 20 сентября 2019

Как с помощью HtmlUnit я могу извлечь страницу, которая содержит JavaScript в виде HTML?Я нашел пример кода, как показано ниже, но он не работает.

public class Downloader {

        public static void main(String[] args) throws Exception {
            LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");

            java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF); 
            java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);

            try (final WebClient webClient = new WebClient()) {
                final HtmlPage page = webClient.getPage("https://www.oddsportal.com/matches/soccer/");
                System.out.println(page.asText());
            }
            System.out.println("END");
        }
}

С этим кодом я попал в бесконечный цикл.Я не знаю почему.Если я открою вышеуказанный сайт в Firefox Инспектор, я могу увидеть полный HTML-код после выполнения JavaScript.Как я могу достичь того же результата с HtmlUnit.Это возможно?Может быть, я должен использовать любую другую библиотеку?Есть предложения?

1 Ответ

0 голосов
/ 21 сентября 2019

HtmlUnit, как правило, имеет много проблем с интерпретацией JavaScript.Если вы просто ищете игровые данные, вы можете добиться большего успеха: https://github.com/gingeleski/odds-portal-scraper

В любом случае, мне удалось получить код, работающий с изменением BrowserVersion: final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_60)

...