很多網(wǎng)站是用js或Jquery 生成數(shù)據(jù)的,到后臺(tái)獲取到數(shù)據(jù)以后,用 document.write()或者("#id").html="" 的方式 寫到頁面中,這個(gè)時(shí)候用瀏覽器查看源碼是看不到數(shù)據(jù)的。HttpClient是不行的,看網(wǎng)上說HtmlUnit,說? 可以獲取后臺(tái)js加載完后的完整頁面,但是我按照文章上說的 寫了 ,都不好使。
String url = "http://xinjinqiao.tprtc.com/admin/main/flrpro.do";
try {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
//設(shè)置webClient的相關(guān)參數(shù)
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
//webClient.getOptions().setTimeout(50000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
//模擬瀏覽器打開一個(gè)目標(biāo)網(wǎng)址
HtmlPage rootPage = webClient.getPage(url);
System.out.println("為了獲取js執(zhí)行的數(shù)據(jù) 線程開始沉睡等待");
Thread.sleep(3000);//主要是這個(gè)線程的等待 因?yàn)閖s加載也是需要時(shí)間的
System.out.println("線程結(jié)束沉睡");
String html = rootPage.asText();
System.out.println(html);
} catch (Exception e) {
}
其實(shí)這段代碼不好使。求解答,其中典型的就是這個(gè)鏈接的頁面,怎么能在java程序中獲取其中的數(shù)據(jù)?http://xinjinqiao.tprtc.com/admin/main/flrpro.do
Java_爬蟲,如何抓取Js動(dòng)態(tài)生成數(shù)據(jù)的頁面?
喵喵時(shí)光機(jī)
2018-12-07 04:06:52