当前位置: 代码迷 >> J2EE >> Java_爬虫,怎么抓取Js动态生成数据的页面
  详细解决方案

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

热度:45   发布时间:2016-04-17 22:56:56.0
Java_爬虫,如何抓取Js动态生成数据的页面?
很多网站是用js或Jquery 生成数据的,到后台获取到数据以后,用 document.write()或者("#id").html="" 的方式 写到页面中,这个时候用浏览器查看源码是看不到数据的。

HttpClient是不行的,看网上说HtmlUnit,说  可以获取后台js加载完后的完整页面,但是我按照文章上说的 写了 ,都不好使。

求解答,其中典型的就是这个链接的页面,怎么能在java程序中获取其中的数据?

http://xinjinqiao.tprtc.com/admin/main/flrpro.do 
------解决思路----------------------
试试 
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());

------解决思路----------------------
代码可以看到, 你也可以抓包看看。
  相关解决方案