js 爬虫抓取网页数据(java程序中获取后台js完后的完整页面是什么?)
优采云 发布时间: 2022-02-05 00:10js 爬虫抓取网页数据(java程序中获取后台js完后的完整页面是什么?)
很多网站使用js或者jquery来生成数据。后台获取数据后,使用document.write()或("#id").html=""写入页面,此时用浏览器查看源码看不到数据。
HttpClient不行,我在网上看了HtmlUnit,说后台js加载后可以得到完整的页面,但是我按照文章说的写了,但是没有不行。一般的代码是这样写的:
String url = "http://xinjinqiao.tprtc.com/admin/main/flrpro.do";
try {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
//设置webClient的相关参数
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
//webClient.getOptions().setTimeout(50000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
//模拟浏览器打开一个目标网址
HtmlPage rootPage = webClient.getPage(url);
System.out.println("为了获取js执行的数据 线程开始沉睡等待");
Thread.sleep(3000);//主要是这个线程的等待 因为js加载也是需要时间的
System.out.println("线程结束沉睡");
String html = rootPage.asText();
System.out.println(html);
} catch (Exception e) {
}
它根本不起作用。
典型的是链接页面。 java程序中如何获取数据?