java爬虫抓取动态网页(开源java页面分析工具启动htmlunit之后会启动一个无界面浏览器)
优采云 发布时间: 2021-11-22 01:15java爬虫抓取动态网页(开源java页面分析工具启动htmlunit之后会启动一个无界面浏览器)
htmlunit 是一个开源的 java 页面分析工具。启动htmlunit后,底层会启动一个非界面浏览器。用户可以指定浏览器类型:firefox、ie等,如果不指定,默认使用INTERNET_EXPLORER_7:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
通过一个简单的调用:
HtmlPage page = webClient.getPage(url);
可以得到页面的HtmlPage表示,然后通过:
InputStream is = targetPage.getWebResponse().getContentAsStream()
可以获取页面的输入流,从而获取页面的源代码,这对于网络爬虫项目非常有用。
当然,你也可以从页面中获取更多的页面元素。
重要的一点是 HtmlUnit 提供了对执行 javascript 的支持:
page.executeJavaScript(javascript)
执行js后返回一个ScriptResult对象,通过该对象可以获取执行js后的页面等信息。默认情况下,内部浏览器执行js后,会做一次页面跳转,跳转到执行js后生成的新页面。如果js执行失败,页面跳转将不会被执行。