如何用java抓取ajax页面的内容

如题所述

ajax页面是动态生成了,直接抓不到。不过也不是没有途径的,通常找到该ajax通道地址还是能获取到里面的内容的。

从ajax所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。

我给你指个思路:用火狐浏览器,监控页面信息,当你点击请求时,会有通道地址信息出现。
当然你获得通道信息知识相对某一个请求的,你还得分析出它们的通式。

我拿sina新闻网举个例子你可能好理解一点:某国内新闻,标题,正文,日期我都从爬取的页面获得了,但我还想获得评论的信息(评论是动态生成的)。于是,我解析爬取页面的<meta name="sudameta"> 因为这个标签有改新闻评论通道的两个信息:channel和newsid。等等等等

就是这种思路,最后找到评论页面。比如title------------中纪委:部分干部不想抓不会抓不敢抓致问题拖炸|中纪委|问责_新浪新闻
拼出的评论通道是comment5.news.sina.com.cn/page/info?format=json&channel=gn&newsid=1-1-31456214&group=0&compress=1&ie=gbk&oe=gbk&page=1&page_size=10
然后你去解析这个页面内容,再转码就可以得到评论内容了。

我这么说不知道你明白怎么做了不?

这是我做网络爬虫的一点点心得,曾经尝试了各种方法,包括引入第三方jar也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
温馨提示:内容为网友见解,仅供参考
无其他回答

如何用JAVA爬取AJAX加载后的页面
package cn.wang.utils;import java.util.Random;import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.CookieManager;import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;import com.gargoylesoftware.htmlunit.WebClient;public class htmlUnitUtils { static...

用java如何爬取含有ajax的页面?要效率高的,如htmlunit、jrex之类的就...
好像可以使用java代码来运行一段JS脚本,不过相当麻烦。我也遇到这问题,我的做法就是直接看页面源码找到JS代码,然后找到真正的请求的地址,直接爬这个网址。你有什么好的方法 也告诉我一下被。

后端接收ajax数据(ajax向后端传值)
java后台获取网页ajax数据和返回数据简单源码1、url,就是你要跟后台异步交互的后台程序路径,data这个是可选的,就是需要用的时候才加上就可以,data就是后台传过来的数据,比如你动态校验用户名是否存在,data里存的就是用户名存在或用户名不存在等字样。2、在JS中,一般是使用eval()函数将JSON的字符...

现有个ajax写的页面和一个swing界面,如何实现点击界面上的按钮,调用...
你想用java程序调用js,可以用applet嵌入页面。用swing编写applet小程序,然后嵌入到页面中,在applet中创建JSObject对象,通过eval调用页面中的js函数,效果如图:图片中的“页面调用”按钮是js按钮,调用的方法是获取文本框的值,然后alert。“java程序调用”按钮,是java小程序中的按钮,点击这个按钮,与上...

java servlet ajax 实现点击表格一行数据刷新另一个表格的数据(不刷新...
用ajax请求数据把要刷新的表用一个层包着,请求回来替换这个层的数据。用jquery可以很容易实现。 点我刷新表2 这里是数据页面返回数据 function refertable2(em){ var url="\/t2.jsp?id="+$(em).attr("tid");.post(url,function(html){ ("t2").html(html);});} ===下面是\/...

java 怎么向ajax返回数据
直接PrintWriter out = response.getWriter();out.write(“这是要返回的数据”);这样就可以了啊

java怎么处理ajax?
function f1(){ if(xhr.readyState==4){ var txt=xhr.responseText; 使用txt更新当前页面... } }java服务器端处理ajax发送的请求,和处理其他请求是一样的,只是在客户端页面表现的不同,比如:执行页面发送删除请求,服务器端在执行删除后,页面是需要刷新的。ajax最经典的用法是验证...

现有个ajax写的页面和一个swing界面,如何实现点击界面上的按钮,调用...
你想用java程序调用js,可以用applet嵌入页面。用swing编写applet小程序,然后嵌入到页面中,在applet中创建JSObject对象,通过eval调用页面中的js函数,效果如图:图片中的“页面调用”按钮是js按钮,调用的方法是获取文本框的值,然后alert。“java程序调用”按钮,是java小程序中的按钮,点击这个按钮,与上...

怎样用Java代码抓取网页中iframe中的数据
你是要抓网页源代码,还是浏览器渲染后的body;如果是网页源代码,很简单,用java自带的http就好了;如果是渲染后的body(包括js和ajax执行后的页面),需要调用无界面浏览器,然后通过api获得返回的数据

java ajax怎么在一张网页中点击查询按钮,回查询该网页下拉列表中的值...
思路可以这样,下拉控件添加事件,再采用ajax去后台查询数据,并返回json数据,再通过ajax回调函数,组装表格并显示

相似回答