java从网页抓取数据(javascript如何使用javascript访问页面的简单示例?(图))
优采云 发布时间: 2022-03-30 06:14java从网页抓取数据(javascript如何使用javascript访问页面的简单示例?(图))
您需要使用支持 javascript 的库。我为此使用了 HtmlUnit,它是一个很棒的库来复制浏览器行为!
有关如何使用 javascript 访问页面的简单示例,请参阅下面的修改答案。
首先,查看他们的 pages() 以启动和运行 htmlunit。确保使用最新的快照 (2.12)
在撰写此快照时)
尝试以下设置以忽略几乎所有障碍:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getCookieManager().setCookiesEnabled(true);
然后,在获取页面时,请确保在对页面进行任何操作之前等待后台 Javascript,例如等待后台 javascript。
//Get Page
HtmlPage page1 = webClient.getPage("https://login-url/");
//Wait for background Javascript
webClient.waitForBackgroundJavaScript(10000);
//Get full page _after_ javascript has rendered it fully
System.out.println(page1.asXml());
希望这个基本示例对您有所帮助!
您可以使用 HtmlUnit 执行浏览器几乎可以执行的所有操作,但以编程方式。