有图有真相

脚本代码

最近刚入门py, 准备写点小玩意练练手. 于是决定拿快递100开刀. 因为它的api很简单.

# 快递100 API
# 作者: 剑齿虎
# 邮箱: yuxiaobo64@gmail.com import requests
import urllib # 函数: 承运公司名到文本
def GetComName(comCode):
if comCode=='shentong':
return '申通快递'
elif comCode=='zhontong':
return '中通快递'
elif comCode=='ems':
return 'EMS'
elif comCode=='huitongkuaidi':
return '汇通快运'
else:
return comCode # 函数: 取状态文本
def GetStateText(num):
if num==0:
return '运输中'
elif num==1:
return '揽件'
elif num==2:
return '疑难'
elif num==3:
return '已签收'
elif num==4:
return '退回签收'
elif num==5:
return '派送中'
elif num==6:
return '退回中' p = {}
p['text'] = input("请输入快递运单编号: ") #比如: 227728570825
autoComNum = requests.get("http://www.kuaidi100.com/autonumber/autoComNum", params=p)
com = autoComNum.json() if com['auto'] == []:
print("这是一个错误的运单编号!") else:
print("\n---------------- 承运公司 ------------------\n")
i=0
for this in com['auto']:
i = i + 1
print( str(i) + ". " + GetComName(this['comCode']) + "\n") num = input("承运公司序号: ")
print("\n---------------- 正在查询, 请稍等... ------------------\n")
data = {}
data['type'] = com['auto'][int(num)-1]['comCode']
data['postid'] = p['text']
data['valicode'] = ''
data['id'] = 1
data['temp'] = '0.14881871496191512'
query = requests.get("http://www.kuaidi100.com/query", params=data)
res = query.json() print("\n运单编号 --> " + res['nu'])
print("\n承运公司 --> " + GetComName(res['com']))
print("\n当前状态 --> " + GetStateText(int(res['state'])))
print("\n---------------- 跟踪信息 ------------------\n")
for this in res['data']:
print(this['time'] + "\t" + this['context'] + "\n") input("\n\n感谢使用, 脚本作者:剑齿虎. API:快递100")

[Python3] 初识py, 一个简单练手的小玩意. 快递查询的更多相关文章

  1. 一个vue练手的小项目

    编程路上的菜鸟一枚 : 最近接触了vue 然后写了一个练手的项目 使用vue-cli脚手架来搭建了的项目 技术: vue2  + vue-router  + ES6 + axios 框架有 mint- ...

  2. 【编程练习】最近准备开始找工作,这篇文章作为一个code练手题目的总结吧

    找工作时候一般需要准备的算法题目类型,其实参考leetcode和poj或者剑指offer基本能够摆平大部分的题目了 1.图的遍历,BFS.DFS: 2.递归的回溯剪枝: 3.树的建立和遍历: 4.状态 ...

  3. python3.6的turtle库练手

    import turtle as t t.speed(10) t.pencolor("yellow") t.fillcolor("red") for num i ...

  4. 【开源】前端练手笔记,Chrome扩展应用程序(html+CSS+JS) (1)

    项目名称:github-notification 项目地址:https://github.com/WQTeam/github-notification 说明:本人打算抽时间学习前端(html + cs ...

  5. 一个简单的flask程序

    初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...

  6. 仿PC版微信的练手项目(可实时通讯)

    仿PC版微信的DEMO 本项目是由一个仿PC版微信的vue前端项目,和一个使用leancloud进行数据存储的.提供WebSocket的node后端项目构成. 本项目使用的技术栈:vue + vue- ...

  7. 『练手』005 Laura.SqlForever历史遗留 的 架构思想缺陷

    005 Laura.SqlForever历史遗留 的 架构思想缺陷 我们 比较一下 Laura.WinFramework 和 Laura.XtraFramework 的差异: Laura.WinFra ...

  8. Xamarin入门,开发一个简单的练手APP

    之前周末用Xamarin练手做了个简单APP,没有啥逻辑基本就是个界面架子,MVVM的简单使用,还有Binding,Command的简单使用,还有一个稍微复杂点两个界面交互处理(子页面新增后关闭,父页 ...

  9. 推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  10. 简单的ssm练手联手项目

    简单的ssm练手联手项目 这是一个简单的ssm整合项目 实现了汽车的品牌,价格,车型的添加 ,修改,删除,所有数据从数据库中拿取 使用到了jsp+mysql+Mybatis+spring+spring ...

随机推荐

  1. linux LVM和磁盘配额

    目录 一.LVM原理 二.LVM的命令 三.创建lvm过程 四.扩容 五.磁盘配额 一.LVM原理 lvm是逻辑卷管理,可以让用户动态管理磁盘,不用考虑物理磁盘的问题,可以快速扩充磁盘大小,可以不用一 ...

  2. 【编程日记】搭建PyCharm集成开发环境

    0.相关确定 本教程使用的版本号为专业版PyCharm 2022.3.2,如果您是初学者,为了更好的学习本教程,避免不必要的麻烦,请您下载使用与本教程一致的版本号. 1.PyCharm的下载 官网下载 ...

  3. 【python基础】变量

    1.初识变量 编程本质就是通过一定的规则,去操纵数据,变量作为数据的载体,在程序中经常会被用到.与变量相联系的还有一个名词叫数据类型,我们可以举一个生活中的例子,来理解数据类型-变量-数据三者之间的关 ...

  4. javascript5 定时器功能

    定时器功能: 定时器功能是window对象方法,涉及到 定时器和延时器,具体 看代码 定时器 timer=setInterval(function (){},300) 清除定时器: clearInte ...

  5. ODOO学习网址推荐

    Odoo官文文档: https://www.odoo.com/zh_cn/page/docs http://www.odoo.com/documentation/8.0/ Odoo中文文档推荐: ht ...

  6. iOS中容易用错的常用知识点

    坐标系转换 ios中的坐标系有三种 视图坐标系:原点(0,0)视图的左上角 窗口坐标系:原点(0,0)窗口的左上角 世界坐标系:原点(0,0)游戏中世界的原点 平时开发中经常会遇到转UIWindow坐 ...

  7. Python编程和机器学习中的自然语言处理:如何从文本中提取有意义的信息和数据

    目录 引言 自然语言处理(Natural Language Processing,NLP)是一种人工智能技术,旨在使计算机理解和处理自然语言文本,从中提取有意义的信息和数据.NLP是机器学习领域中的重 ...

  8. CentOS 7 下/etc/ssh/sshd_config 文件解释

    CentOS 7 下/etc/ssh/sshd_config 文件详解 SSH由客户端和服务端的软件组成,在客户端可以使用的软件有SecureCRT.putty.Xshell等,而在服务器端运行的是一 ...

  9. C#中数组=out参数?

    - 结论 先上结论,答案是yes,C#中数组确实具有out参数的特性. - 疑问 最近开发一个上位机的功能,有段代码看得我一直很迷糊,我的认识,函数的执行结果,要么在函数中通过return返回,要么通 ...

  10. 零基础实现Java直播(二):实现流程

    一.前提条件 在实现Java直播前,请确保: 已在项目中集成 ZEGO Express SDK,详情请参考 快速开始 - 集成. 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 App ...