首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python实现快递查询

今天介绍一个19行代码就能搞定的查询快递的脚本。

开发语言:Python

开发环境:windows+Python3.6版本

开发平台:PyCharm

首先导入json以及request模块

importjson

importrequests

JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。JSON的数据格式其实就是Python里面的字典格式,里面可以包括方括号括起来的数组,也就是Python里面的列表。

request模块的功能就是模拟浏览器对某一特定URL进行访问。

defsearchPackage():

packageNum =input('请输入运单号码(只有正在途中才能看到哦):')

url1 ='http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text='+ packageNum

# 用url1查询运单号对应的快递公司,如中通,返回:中通。

companyName = json.loads(requests.get(url1).text)['auto'][]['comCode']

#在用url2查询和运单号、快递公司来查询快递详情,结果是一个json文,

#用dict保存在resultdict中。

url2 ='http://www.kuaidi100.com/query?type='+ companyName +'&postid='+ packageNum

定义一个函数,这里面调用的是快递100的API。URL使用Chrome的F12开发者工具获得。

这里companyName返回的值是

{"comCode":"","num":"888298869225448937","auto":[{"comCode":"yuantong","id":"","noCount":941716,"noPre":"88829","startTime":""}]}

我们拿到其中的快递公司名字(测试用例为圆通)yuantong。并将其值传入至url2中进行第二次请求。

print('时间 地点和跟踪进度\n')

foriteminjson.loads(requests.get(url2).text)['data']:

print(item['time'],item['context'])

遍历url2请求后返回的数据,拿到时间以及快递的所在位置信息。

searchPackage()

最后执行函数。

测试结果:

这样一个查询快递的脚本就实现了,怎么样,是不是对Python的JSON处理数据,以及request的使用更熟悉了呢。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180204G0KGRB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券