前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python查询快递

Python查询快递

作者头像
KEVINGUO_CN
发布2020-03-17 11:49:07
1.1K0
发布2020-03-17 11:49:07
举报
文章被收录于专栏:全栈全栈全栈全栈

首先,要考虑数据来源。这个可以用快递100的数据,打开快递100官网就可以输入单号查询快递信息。

当然,点一下查询按钮,会发送很多请求到服务器,请求快递信息。我们需要分析一下哪个请求链接是有用的。抓包分析可以用fiddler4,这里我就不写这个过程了。大家有兴趣可以去尝试一下,比较简单。

经测试,得到请求链接是 http://www.kuaidi100.com/query?type=xxx&postid=xxx 。其中需要填写type和postid两个参数,分别是快递公司代码和快递单号。请求这个链接可以得到json数据。大概结构如下:

代码语言:javascript
复制
{    "message" : "ok",    "nu" : "单号",    "com" : "快递公司代码",    "data":[        {             "time":"2015-12-27 13:24:34",             "context":"快递信息1",             "ftime":"2015-12-27 13:24:34"         },        {             "time":"2015-12-27 13:24:34",             "context":"快递信息2",             "ftime":"2015-12-27 13:24:34"         }        ]}

这个json数据结构还是一目了然的那我们就可以动手了,源码如下:

代码语言:javascript
复制
# -*- coding: UTF-8 -*-# 特别声明,此源码仅参考研究使用。未经允许,请勿用于商业用途# By Haddy Yang, 2016-03-02 import urllibimport json def getExpress(company,code):    '''funcation: Get Express Infomation    2 args    company: the express company code    code: the express bill code    '''    url='http://www.kuaidi100.com/query?type=%s&postid=%s' % (company,code)    page=urllib.urlopen(url) #打开链接,请求快递数据    return page.read().decode('utf8') def showResult(jsonStr):    '''Show the result'''    jsonObj = json.loads(jsonStr)    print u'当前状态:', jsonObj.get('message'),'\n'     status=jsonObj.get('status') #获取状态代码(200是正常)    if status=='200':        for x in jsonObj.get('data'):            print '%s %s' % (x.get('time'), x.get('context'))            #可以用下面代码遍历出全面键值            #for key,value in x.items():            #   print key,value if __name__ == '__main__':    #测试,顺丰代码:shunfeng    jsonStr = getExpress('shunfeng','102290224058')    showResult(jsonStr)    raw_input()


快递公司名称            代码            快递公司名称            代码            快递公司名称            代码            A开头
           急先达jixianda微特派weitepai澳大利亚邮政auspost晋越快递jinyuekuaidiX开头
           AAEaae捷特快递jietekuaidi新邦物流xinbangwuliu安信达anxindakuaixi金大物流jindawuliu信丰物流xinfengwuliuB开头            嘉里大通jialidatong星晨急便xingchengjibian百世汇通huitongkuaidiK开头
           鑫飞鸿xinhongyukuaidi百福东方baifudongfang快捷速递kuaijiesudi希伊艾斯ccesBHTbht康力物流kangliwuliu新蛋奥硕物流neweggozzo包裹/平邮/挂号youzhengguonei跨越物流kuayue中国香港邮政hkpost邦送物流bangsongwuliuL开头
           Y开头
           C开头
           联昊通lianhaowuliu圆通速递yuantong希伊艾斯cces龙邦物流longbanwuliu韵达快运yunda传喜物流chuanxiwuliu蓝镖快递lanbiaokuaidi运通快递yuntongkuaidiD开头
           乐捷递lejiedi邮政小包youzhengguonei大田物流datianwuliu联邦快递lianbangkuaidi邮政小包youzhengguoji德邦物流debangwuliu联邦快递lianbangkuaidien远成物流yuanchengwuliuDPEXdpex立即送lijisong亚风速递yafengsudiDHL-中国件dhl隆浪快递longlangkuaidi一邦速递yibangwuliuDHL-国际件dhlenM开头
           优速物流youshuwuliuDHL-德国件dhlde门对门menduimen源伟丰快递yuanweifengD速快递dsukuaidi美国快递meiguokuaidi元智捷诚yuanzhijiecheng递四方disifang明亮物流mingliangwuliu越丰物流yuefengwuliuE开头
           O开头
           源安达yuanandaEMSemsOCSocs原飞航yuanfeihangwuliuEMS-国际件emsenonTracontrac一统飞鸿yitongfeihongE邮宝emsQ开头
           Z开头            F开头
           全晨快递quanchenkuaidi忠信达快递zhongxindaFedex-国际件fedex全际通quanjitong芝麻开门zhimakaimenFedex-中国件fedexcn全日通quanritongkuaidi银捷速递yinjiesudiFedex-美国件fedexus全一快递quanyikuaidi宅急送zhaijisong飞康达物流feikangda全峰快递quanfengkuaidi郑州建华zhengzhoujianhua飞快达feikuaida七天连锁sevendays中国东方coe凡客如风达rufengdaR开头
           中通速递zhongtong风行天下fengxingtianxia如风达快递rufengda中铁物流zhongtiewuliu飞豹快递feibaokuaidiS开头
           中铁快运ztkyG开头
           山东海红haihongwangsong中邮物流zhongyouwuliu港中能达ganzhongnengda申通快递shentong中速快件zhongsukuaidi国通快递guotongkuaidi顺丰速递shunfeng中天万运zhongtianwanyun广东邮政guangdongyouzhengwuliu顺丰速递-国际shunfengen

挂号信youzhengguonei三态速递santaisudi

国内邮件youzhengguonei速尔物流suer

国际邮件youzhengguoji盛辉物流shenghuiwuliu

GLSgls盛丰物流shengfengwuliu

共速达gongsuda上大物流shangda

H开头
           赛澳递saiaodi

汇通快运huitongkuaidi山西红马甲sxhongmajia

汇强快递huiqiangkuaidi圣安物流shenganwuliu

华宇物流tiandihuayu穗佳物流suijiawuliu

恒路物流hengluwuliuT开头
           

华夏龙huaxialongwuliu天地华宇tiandihuayu

海航天天tiantian天天快递tiantian

海外环球haiwaihuanqiuTNTtnt

河北建华hebeijianhuaTNT-国际tnten

海盟速递haimengsudi通和天下tonghetianxia

华企快运huaqikuaiyunU开头
           

J开头
           UPSups

加拿大邮政canpostUPS-国际upsen

加拿大邮政canpostfrUSPSusps

佳吉物流jiajiwuliu优速物流youshuwuliu

佳怡物流jiayiwuliuW开头
           

加运美jiayunmeiwuliu万家物流wanjiawuliu

京广速递inguangsudikuaijian万象物流wanxiangwuliu

标签: 无

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档