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信息接口的更多相关文章

  1. java抓取快递信息

    package zeze; import java.io.IOException; import org.jsoup.Connection; import org.jsoup.Jsoup; impor ...

  2. Java广度优先爬虫示例(抓取复旦新闻信息)

    一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发 ...

  3. PHP快速抓取快递信息

    <?php header("Content-type:text/html;charset=utf-8"); /** * Express.class.php 快递查询类 * @ ...

  4. 教您使用java爬虫gecco抓取JD全部商品信息

    gecco爬虫 如果对gecco还没有了解可以参看一下gecco的github首页.gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定. JD网站的分析 要抓取JD网站的全部商品信息, ...

  5. java 抓取网页图片

    import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.Out ...

  6. 使用HtmlAgilityPack抓取Ethereum Tokens信息

    使用HtmlAgilityPack抓取Ethereum Tokens信息 class Program { static void Main(string[] args) { try { for (in ...

  7. Python爬虫实战---抓取图书馆借阅信息

    Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...

  8. scrapy抓取拉勾网职位信息(一)——scrapy初识及lagou爬虫项目建立

    本次以scrapy抓取拉勾网职位信息作为scrapy学习的一个实战演练 python版本:3.7.1 框架:scrapy(pip直接安装可能会报错,如果是vc++环境不满足,建议直接安装一个visua ...

  9. Wireshark抓取本地回环接口数据包 RawCap.exe

    Wireshark提供了winpcap可以抓取远程网卡数据包...但我尝试了不成功.后来发现RawCap.exe不仅可以抓取回环接口数据包,远程跑了拿到pcap文件再打开用起来比winpcap更方便最 ...

随机推荐

  1. MathML + MathJax在网页中插入公式

    http://www.mathjax.org/download/ http://www.w3.org/Math/Software/mathml_software_cat_editors.html ht ...

  2. Third-person Camera Navigation

    http://msdn.microsoft.com/en-us/library/bb203909(v=xnagamestudio.31).aspx http://xbox.create.msdn.co ...

  3. HTML5 常用的结构化标签整理

    一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...

  4. Linux下MySQL忘记密码

    系统:CentOS6.6 64位 参考文档(截图请看原网址): Linux下MySQL忘记root密码怎么办_百度经验 http://jingyan.baidu.com/article/1709ad8 ...

  5. Ubuntu用作Server时出现乱码的解决方法

    下面给出解决办法: 1.用vi编辑器修改/etc/default/local文件 2.把原来的中文编码替换成下面的 LANG="en_US.UTF-8" LANGUAGE=&quo ...

  6. Database Schema Reader

    数据架构与INSERT脚本生成 https://dbschemareader.codeplex.com/wikipage?title=Writing%20Data&referringTitle ...

  7. 缺少索引导致的服务器和MYSQL故障。

    故障现象: 网站访问缓慢. 数据库RDS: CPU满,连接数满,其他值都是空闲. apache服务器:CPU正常,IO正常,流量报警,内存爆满. 解决思路: 一.没遇到过此情况,一脸懵逼. 二.请教大 ...

  8. hibernate 批量增加 修改 删除

    4.2  Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete ...

  9. Office 2010/2007 简繁体转换按钮不见了?

    注:此文章来自微软官方,原文链接:http://support.microsoft.com/kb/2459493/zh-tw 经测试可解决问题.——————————– 通常发生这样的问题,是由于繁简转 ...

  10. 安装cocoods

    http://www.tuicool.com/articles/7VvuAr3 http://blog.csdn.net/gf771115/article/details/50403253(详细,用终 ...