java爬虫抓取动态网页(Java_爬虫,如何抓取Js动态生成数据的页面?)
优采云 发布时间: 2021-10-09 00:18java爬虫抓取动态网页(Java_爬虫,如何抓取Js动态生成数据的页面?)
Java_爬虫,如何抓取Js生成的动态数据的页面?
很多网站使用js或者jquery来生成数据。后台获取数据后,使用 document.write() 或 ("#id").html="" 写入页面。这时候用浏览器看源码是看不到数据的。
HttpClient 不起作用。看网上的HtmlUnit,说后台js加载后可以得到完整的页面,但是我按照文章上写的,但是不行。
对于答案,典型的是此链接的页面。 java程序中如何获取数据?
------解决思路--------------
试试
String s= "http://xinjinqiao.tprtc.com/admin/main/pro!lrprolist.do";<br />
URL url = new URL(s);<br />
HttpURLConnection http = (HttpURLConnection) url.openConnection();<br />
http.setDoOutput(true); <br />
http.setDoInput(true); <br />
http.setRequestMethod("POST"); <br />
http.connect(); <br />
OutputStreamWriter out = new OutputStreamWriter(http.getOutputStream(), "UTF-8"); <br />
<br />
String input = "name=flr&nowpage=1&pagesize=10"; <br />
<br />
out.append(input); <br />
out.flush(); <br />
out.close(); <br />
int length = (int) http.getContentLength();<br />
System.out.println(length);<br />
BufferedReader reader = new BufferedReader(new InputStreamReader(http.getInputStream()));<br />
String line;<br />
StringBuffer buffer = new StringBuffer();<br />
while ((line = reader.readLine()) != null) {<br />
buffer.append(line);<br />
}<br />
reader.close();<br />
http.disconnect();<br />
System.out.println(buffer.toString());
------解决思路--------------
可以看代码,也可以抓包看看。