java从网页抓取数据(百度和其他一些网站会公布一些公共API接口供调用)
优采云 发布时间: 2022-01-13 19:26java从网页抓取数据(百度和其他一些网站会公布一些公共API接口供调用)
百度和其他一些网站会发布一些公共API接口供调用,这里是如何使用Java获取url数据并读取数据。
URL url = new URL("http://api.baidu.com/[urlAddress]");
URLConnection uc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"utf-8"));
//这段代码中需要指定获取内容的编码格式,默认为UTF-8。 然后数据就被存放在Buffer里面,你可以把Buffer看成一个水管,使用readline()读取水管里面传的数据(水滴)
String str =null;
while((str=in.readline())!=null){
System.out.print(str)}
}
如果api是json格式,那么当使用str=in.readline()获取数据时,会生成一组json数据。下面介绍如何阅读:
<p> //如果是数组格式,那么使用JSONArray,也可以使用JSONObject存JSON值。具体根据JSON对象内容格式吧。
JSONArray jsonArr = new JSONArray();
JSONArray data = JSONArray.fromObject(str);
for(int i=0;i