首页 > 解决方案 > 使用 HtmlUnit 抓取移动网站

问题描述

我正在用 Htmlunit 抓取一个移动版网站。我认为这个站点使用一些脚本生成了它的部分 html。我无法解析网站的整个 html,只有我认为它不是动态生成的 html。我不确定我设置移动用户代理的方式是否正确,或者我在阅读页面时做错了什么。我已经尝试了发布在线程上的解决方案,这些解决方案解释了读取动态生成的网站的方式,所以我不知道解决我的问题的关键是什么,所以也许该网站不会动态生成其部分 html

这是我的代码:

/* turn off annoying htmlunit warnings */
        java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);

        final BrowserVersionBuilder myMobileExplorerBuilder = new BrowserVersion.BrowserVersionBuilder(BrowserVersion.FIREFOX_52);
        myMobileExplorerBuilder.setUserAgent("Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");


        WebClient client = new WebClient(myMobileExplorerBuilder.build());  
        client.getOptions().setCssEnabled(false);  
        client.getOptions().setJavaScriptEnabled(true);
        client.getOptions().setThrowExceptionOnScriptError(false);
        client.getOptions().setActiveXNative(true);

        String url = "https://mobile.bet365.es/";

        HtmlPage page = client.getPage(url);

        System.out.println(page.getBody().asXml());

标签: javascriptweb-scrapinghtmlunit

解决方案


推荐阅读