本文主要是介绍Java利用HtmlUtil获取页面ajax渲染数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、序言
很久没更新博客,最近由于开发需求又将之前很久不用的抓取捡起来了
发现只是单纯的httpclient获取一些页面得不到想要的数据
虽然我们可以通过研究拿到JS执行的请求路径再用java代码获取我们需要的这部分数据,且不说我们能不能够从JS脚本中分析到这个请求路径和请求参数,光是分析这部分源码的代价就已经很高了,在我分析了一段时间后放弃了
于是使用了htmlunit模拟浏览器操作来获取页面js渲染的数据
HtmlUnit是一个用java编写的无界面浏览器,建模html文档,通过API调用页面,填充表单,点击链接等等。如同正常浏览器一样操作。典型应用于测试以及从网页抓取信息。
二、引入pom依赖
<dependency><groupId>net.sourceforge.htmlunit</groupId><artifactId>htmlunit</artifactId><version>2.37.0</version> </dependency>
三、简单使用
http://htmlunit.sourceforge.net/
这是htmlutil的官网,有问题可以看看
1、定义WebClient
webClient = new WebClient();
2、获取页面
HtmlPage page = webClient.getPage("想要获取的页面url");
3、从页面中获取元素
DomNodeList<DomElement> elemen
这篇关于Java利用HtmlUtil获取页面ajax渲染数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!