java抓取快递100信息接口
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抓取快递信息
package zeze; import java.io.IOException; import org.jsoup.Connection; import org.jsoup.Jsoup; impor ...
- Java广度优先爬虫示例(抓取复旦新闻信息)
一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发 ...
- PHP快速抓取快递信息
<?php header("Content-type:text/html;charset=utf-8"); /** * Express.class.php 快递查询类 * @ ...
- 教您使用java爬虫gecco抓取JD全部商品信息
gecco爬虫 如果对gecco还没有了解可以参看一下gecco的github首页.gecco爬虫十分的简单易用,JD全部商品信息的抓取9个类就能搞定. JD网站的分析 要抓取JD网站的全部商品信息, ...
- java 抓取网页图片
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.Out ...
- 使用HtmlAgilityPack抓取Ethereum Tokens信息
使用HtmlAgilityPack抓取Ethereum Tokens信息 class Program { static void Main(string[] args) { try { for (in ...
- Python爬虫实战---抓取图书馆借阅信息
Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...
- scrapy抓取拉勾网职位信息(一)——scrapy初识及lagou爬虫项目建立
本次以scrapy抓取拉勾网职位信息作为scrapy学习的一个实战演练 python版本:3.7.1 框架:scrapy(pip直接安装可能会报错,如果是vc++环境不满足,建议直接安装一个visua ...
- Wireshark抓取本地回环接口数据包 RawCap.exe
Wireshark提供了winpcap可以抓取远程网卡数据包...但我尝试了不成功.后来发现RawCap.exe不仅可以抓取回环接口数据包,远程跑了拿到pcap文件再打开用起来比winpcap更方便最 ...
随机推荐
- Android学习笔记——LinearLayout
该工程的功能是实现LinearLayout 以下的代码是MainActivity.java中的代码 package com.example.linearlayout; import android.a ...
- 移动端a标签点击图片有阴影处理
移动端我们在点击页面中的一些图片的时候会出现阴影.处理方法只要给a标签加上 a { -webkit-tap-highlight-color: transparent; -webkit-touch-ca ...
- Python 开发与测试 Webservice(SOAP)
WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 理解WebService 1.从表面上看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是 ...
- Django笔记-helloworld
网上的Django资料太乱了,我想写一下自己的学习过程(只记大体过程,有时间就完善).(用eclipse+PyDev工具开发的) 1.项目结构 2.关键代码:(注意缩进,可能贴上来缩进格式等有变化,我 ...
- CallerInformation
http://www.cnblogs.com/henryzhu/archive/2013/01/27/csharp-5-new-callerinformation.html 去年8月,Visual S ...
- 微型orm fluentdata
http://fluentdata.codeplex.com/documentation#Query
- Python之路【第四篇补充】:面向对象初识和总结回顾
面向过程的编程 面向过程:根据业务逻辑从上到下写垒代码! 例子: 需求一.有一个程序需要做身份认证: 用户名有个字典: #定义一个用户名信息字典 user_info = { "zhangsa ...
- iwebshop二次开发
1.iwebshop中写hello world ① 动作action方式 controllers目录下,然后创建text.php. <?php class Test extends IContr ...
- 用Castor 处理XML文档
——Castor可以完成Java和XML的相互转换 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/20 ...
- vim 创建和管理折叠
参考文章: http://blog.csdn.net/bendanban/article/details/7743530 首先要有折叠, 然后才能说, 打开和关闭 折叠; 打开: zo: zip op ...