Java_爬虫,怎么样抓取Js动态生成数据的页面?

J2EE 码拜 7年前 (2015-11-12) 853次浏览
很多网站是用js或Jquery 生成数据的,到后台获取到数据以后,用 document.write()或(“#id”).html=”” 的方式 写到页面中,这个时候用浏览器查看源码是看不到数据的。
HttpClient是不行的,看网上说HtmlUnit,说  可以获取后台js加载完后的完整页面,但是本人按照文章上说的 写了 ,都不好使。
求指导答,其中典型的就是这个链接的页面,怎么能在java程序中获取其中的数据
http://xinjinqiao.tprtc.com/admin/main/flrpro.do
解决方案:15分
试试

String s= "http://xinjinqiao.tprtc.com/admin/main/pro!lrprolist.do";
		 URL url = new URL(s);
		 HttpURLConnection http = (HttpURLConnection) url.openConnection();
		 http.setDoOutput(true);  
		 http.setDoInput(true);  
         http.setRequestMethod("POST");  
		 http.connect();  
		 OutputStreamWriter out = new OutputStreamWriter(http.getOutputStream(), "UTF-8"); 

		 String input = "name=flr&nowpage=1&pagesize=10"; 
		 
		 out.append(input);  
         out.flush();  
         out.close();  
         int length = (int) http.getContentLength();
         System.out.println(length);
     	 BufferedReader reader = new BufferedReader(new InputStreamReader(http.getInputStream()));
 		 String line;
 		 StringBuffer buffer = new StringBuffer();
 		 while ((line = reader.readLine()) != null) {
 			 buffer.append(line);
 		 }
 		 reader.close();
 		 http.disconnect();
 		 System.out.println(buffer.toString());
解决方案:5分
代码可以看到, 你也可以抓包看看。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Java_爬虫,怎么样抓取Js动态生成数据的页面?
喜欢 (0)
[1034331897@qq.com]
分享 (0)