java抓取快递100信息接口

2023-06-20,,

 package zeze;

 import java.io.IOException;

 import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements; /**
*
* @ClassName: Tiantian
* @Description: 快递100天天快递查询
* @author zeze
* @date 2015年11月2日 下午2:28:46
*
*/
public class Tiantian { public static void main(String[] args) throws IOException, JSONException {
String url = "http://www.kuaidi100.com/query?type=tiantian&postid=666198673845&id=1&valicode=&temp=0.42161923577077687";// 获取地址
int num = 0;
// 设置查询参数
for (int j = 0; j < 1; j++) { Connection conn = Jsoup.connect(url);
String key = "666198673845";
String b = key.substring(0, 5);
String c = key.substring(5, 12); int d = Integer.parseInt(c);
key = b + (d + j);// 生成快递单号
conn.data("postid", key);// 设置关键字查询字段 Document doc = null;
doc = conn.timeout(100000).get();// 设置请求类型为post型,超时100000毫秒 Elements results = null;
System.out.println("天天快递单号:" + key + " 当前查询次数:" + (j + 1));
results = doc.select("body");// 处理返回数据
String json = results.text();// 获取快递状态信息
System.out.println(json);
JSONObject obj = new JSONObject(json);
//JSONArray jsonArray=new JSONArray(json);
System.out.println("订单号(nu):"+obj.getString("nu"));
System.out.println("查询的快递公司代码(com):"+obj.getString("com"));
System.out.println("查询结果状态(status):"+obj.getString("status"));
System.out.println("快递单当前的状态(state) :"+obj.getString("state"));
System.out.println("数据(data):"+obj.getString("data")); JSONArray jsonArray=new JSONArray(obj.getString("data"));
for(int i=0;i<jsonArray.length();i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);//时间
String context = jsonObject.getString("context");
String time = jsonObject.getString("time");
System.out.println(time+" "+context);
} }
System.out.println("本次成功查询到的订单数为:" + num); }
}
 package zeze;

 import java.io.IOException;

 import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements; import Dao.MysqlDao;
import bean.Info; /**
*
* @ClassName: Tiantian
* @Description: 快递100天天快递查询
* @author zeze
* @date 2015年11月2日 下午2:28:46
*
*/
public class Tiantian { public static void main(String[] args) throws IOException, JSONException { int num = 0;
// 设置查询参数
for (int j = 0; j < 200; j++) { String key = "666198673945";
String b = key.substring(0, 5);
String c = key.substring(5, 12);
int d = Integer.parseInt(c);
key = b + (d + j);// 生成快递单号 String url = "http://www.kuaidi100.com/query?type=tiantian&postid=" + key + "";// 获取地址
Connection conn = Jsoup.connect(url);// 连接
conn.data("postid", key);// 设置关键字查询字段 Document doc = null;
doc = conn.timeout(100000).get();// 设置请求类型为post型,超时100000毫秒 Elements results = null;
results = doc.select("body");// 处理返回数据
String json = results.text();// 获取快递状态信息 JSONObject obj = new JSONObject(json); // 转为为json对象
int statu=Integer.parseInt(obj.getString("status"));
if ( statu== 201) {
System.out.println("快递单号:" + key + " 当前查询次数:" + (j + 1));
System.out.println(obj.getString("message"));
continue;
}
else {
if (obj.getString("nu").isEmpty()) {// 订单号不存在
continue;
}
else {
num++;
}
System.out.println("快递单号(nu):" + obj.getString("nu") + " 当前查询次数:" + (j + 1));
System.out.println("查询的快递公司代码(com):" + obj.getString("com"));
System.out.println("查询结果状态(status):" + obj.getString("status"));
System.out.println("快递单当前的状态(state) :" + obj.getString("state")); int count = 0;
JSONArray jsonArray = new JSONArray(obj.getString("data"));
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);// 时间
String context = jsonObject.getString("context");
String time = jsonObject.getString("time");
System.out.println(time + " " + context); Info info = new Info();
info.setVar_id(key);
info.setVar_infoid(count);
info.setVar_time(time);
info.setVar_site(context); count++;
MysqlDao mysqlDao = new MysqlDao();// 插入数据库
mysqlDao.Addinfo(info);
} System.out.println("\n/*****************************************/\n");
}
System.out.println("本次成功查询到的订单数为:" + num);
}
}
}

java抓取快递100信息接口的相关教程结束。

《java抓取快递100信息接口.doc》

下载本文的Word格式文档,以方便收藏与打印。