「java读取ajax」java读取properties配置文件
今天给各位分享java读取ajax的知识,其中也会对java读取properties配置文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何用JAVA爬取AJAX加载后的页面
- 2、Java后台如何获取前台传入的ajax数据?
- 3、java后台获取网页ajax数据和返回数据简单源码
- 4、java如何获取含ajax的网页数据
- 5、如何用java抓取ajax页面的内容
- 6、小白求教,java中怎么获取ajax发送的json数据
如何用JAVA爬取AJAX加载后的页面
普通的爬取是抓不了js的之后的数据的 可以用phantomjs或者htmlUnit实现
附上phantomjs示列代码
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 WebClient webClient = null;
static Random random = new Random();
static{
//1.创建对象
webClient = new WebClient(BrowserVersion.CHROME);
//2.设置参数
//启动js
webClient.getOptions().setJavaScriptEnabled(true);
//关闭css渲染
webClient.getOptions().setCssEnabled(false);
//启动重定向
webClient.getOptions().setRedirectEnabled(true);
//设置连接超时时间 ,这里是10S。如果为0,则无限期等待
webClient.getOptions().setTimeout(1000 * 15);
//启动cookie管理
webClient.setCookieManager(new CookieManager());
//启动ajax代理
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
//js运行时错误,是否抛出异常
webClient.getOptions().setThrowExceptionOnScriptError(false);
//设置浏览器请求信息
webClient.addRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
webClient.addRequestHeader("Accept-Encoding", "gzip, deflate");
webClient.addRequestHeader("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
webClient.addRequestHeader("Connection", "keep-alive");
webClient.addRequestHeader("Upgrade-Insecure-Requests", "1");
}
public static void runJs(String url){
try {
webClient.addRequestHeader("User-Agent", Constant.useragents[random.nextInt(Constant.useragents.length)]);
//等待js渲染执行 waitime等待时间(ms)
webClient.waitForBackgroundJavaScript(1000 * 10);
//3.获取页面
webClient.getPage(url);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(webClient != null){
webClient.close();
}
}
}
public static void main(String[] args) {
runJs("");
System.setProperty("phantomjs.binary.path", "D:\\works\\tool\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
}
}
Java后台如何获取前台传入的ajax数据?
获取ajax数据有两种方式:
定义和参数相同的变量,可以获得相对应的名字
可以通过request来获取相应的值
有的时候还有可能获取一些cookie和session的值,这个可以用其相对应的方法来获取
java后台获取网页ajax数据和返回数据简单源码
1新建一个servlet xml中相应配置(一般自动)
2创建service方法
3接受参数,做操作,返回数据
比如页面发送ajax请求到SomeServlet
$.post("SomeServlet的请求路径",{param:"param"},function(data){
//data为返回的数据以json形式
alert(data.id + " " + data.name + " " + data.age );
},"json");
Servlet
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String param = request.getParameter("param");//获取参数
//你的操作
//返回数据
String json = "{\"id\":1,\"name\":\"张三\",\"age\":18}";
out.print(json);
}
java如何获取含ajax的网页数据
其实任何网页的数据都是由 请求-响应 组成的,谷歌或者火狐 开了F12 选择网络,点击那个更多按钮,你就可以获取到他访问的连接,后面不论普通的 httpclient 还是jsoup 都可以获取到response内容了,个人感觉这样的返回json的可能性很大,你先试试浏览器工具吧
如何用java抓取ajax页面的内容
ajax页面是动态生成了,直接抓不到。不过也不是没有途径的,通常找到该ajax通道地址还是能获取到里面的内容的。
从ajax所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。
我给你指个思路:用火狐浏览器,监控页面信息,当你点击请求时,会有通道地址信息出现。
当然你获得通道信息知识相对某一个请求的,你还得分析出它们的通式。
我拿sina新闻网举个例子你可能好理解一点:某国内新闻,标题,正文,日期我都从爬取的页面获得了,但我还想获得评论的信息(评论是动态生成的)。于是,我解析爬取页面的meta name="sudameta" 因为这个标签有改新闻评论通道的两个信息:channel和newsid。等等等等
就是这种思路,最后找到评论页面。比如title------------中纪委:部分干部不想抓不会抓不敢抓致问题拖炸|中纪委|问责_新浪新闻
拼出的评论通道是comment5.news.sina.com.cn/page/info?format=jsonchannel=gnnewsid=1-1-31456214group=0compress=1ie=gbkoe=gbkpage=1page_size=10
然后你去解析这个页面内容,再转码就可以得到评论内容了。
我这么说不知道你明白怎么做了不?
这是我做网络爬虫的一点点心得,曾经尝试了各种方法,包括引入第三方jar也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
谢谢
小白求教,java中怎么获取ajax发送的json数据
在JS中,一般是使用eval()函数将JSON的字符串解析成JSON数据格式。
测试代码如下:
var obj = eval("("+data+")”);//转为json对象
alert("return_code:"+obj["return_code"]);//弹出json对象return_code属性
这边需要注意的是,eval("("+data+")”)要这么写,里面还带了一对括号。原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
关于java读取ajax和java读取properties配置文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。