[Python3] 初识py, 一个简单练手的小玩意. 快递查询
有图有真相
脚本代码
最近刚入门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, 一个简单练手的小玩意. 快递查询的更多相关文章
- 一个vue练手的小项目
编程路上的菜鸟一枚 : 最近接触了vue 然后写了一个练手的项目 使用vue-cli脚手架来搭建了的项目 技术: vue2 + vue-router + ES6 + axios 框架有 mint- ...
- 【编程练习】最近准备开始找工作,这篇文章作为一个code练手题目的总结吧
找工作时候一般需要准备的算法题目类型,其实参考leetcode和poj或者剑指offer基本能够摆平大部分的题目了 1.图的遍历,BFS.DFS: 2.递归的回溯剪枝: 3.树的建立和遍历: 4.状态 ...
- python3.6的turtle库练手
import turtle as t t.speed(10) t.pencolor("yellow") t.fillcolor("red") for num i ...
- 【开源】前端练手笔记,Chrome扩展应用程序(html+CSS+JS) (1)
项目名称:github-notification 项目地址:https://github.com/WQTeam/github-notification 说明:本人打算抽时间学习前端(html + cs ...
- 一个简单的flask程序
初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...
- 仿PC版微信的练手项目(可实时通讯)
仿PC版微信的DEMO 本项目是由一个仿PC版微信的vue前端项目,和一个使用leancloud进行数据存储的.提供WebSocket的node后端项目构成. 本项目使用的技术栈:vue + vue- ...
- 『练手』005 Laura.SqlForever历史遗留 的 架构思想缺陷
005 Laura.SqlForever历史遗留 的 架构思想缺陷 我们 比较一下 Laura.WinFramework 和 Laura.XtraFramework 的差异: Laura.WinFra ...
- Xamarin入门,开发一个简单的练手APP
之前周末用Xamarin练手做了个简单APP,没有啥逻辑基本就是个界面架子,MVVM的简单使用,还有Binding,Command的简单使用,还有一个稍微复杂点两个界面交互处理(子页面新增后关闭,父页 ...
- 推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
- 简单的ssm练手联手项目
简单的ssm练手联手项目 这是一个简单的ssm整合项目 实现了汽车的品牌,价格,车型的添加 ,修改,删除,所有数据从数据库中拿取 使用到了jsp+mysql+Mybatis+spring+spring ...
随机推荐
- Vue cli3 整合SuperMap巧遇js异步加载的坑
最近使用到superMap做三维地图,而项目又分为可视化大屏与后台管理系统两部分,所以项目配置了多入口,然引入cesium依赖就成了问题,在vue cli3 整合Cesium,处理build 时内存溢 ...
- cookie和session以及token
cookie和seesion以及token 技术都基于状态保持, cookie: 有服务器生成, 以 k:v 形式保持在浏览器端,下次请求服务器,附带cookie信息:存在恶意修改可能:可以对co ...
- Taurus.mvc .Net Core 微服务开源框架发布V3.1.7:让分布式应用更高效。
前言: 自首个带微服务版本的框架发布:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 已经过去快1年了,在这近一年的时间里,版本经历了N个版本的迭代. ...
- kafka的安装和基本操作
基本概念 简介 Kafka 最初是由 LinkedIn 即领英公司基于 Scala 和 Java 语言开发的分布式消息发布-订阅系统,现已捐献给Apache 软件基金会.其具有高吞吐.低延迟的特性,许 ...
- CSI架构和原理
CSI CSI简介 CSI的诞生背景 K8s 原生支持一些存储类型的 PV,如 iSCSI.NFS.CephFS 等等,这些 in-tree 类型的存储代码放在 Kubernetes 代码仓库中.这里 ...
- 2023安洵杯web两道WP
Web CarelessPy 在首页提示存在eval和login的路由,在download存在任意文件下载 访问eval可以读取目录下的文件,知道/app/pycache/part.cpython-3 ...
- 如何通过Java读取到Windows系统日志evtx文件
近日公司有个需求,需要调研如何使用Java来读取Windows日志文件(类型:应用程序,安全,Setup,系统) 一番调研以后,在仅使用java的基础上系统日志文件似乎不太可能(就个人调研结果来看), ...
- 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【三】
682. 棒球比赛 题目链接 682. 棒球比赛 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你 ...
- Mediabox:年度最佳音视频开发工具
"2023稀土开发者大会"落下帷幕,由稀土掘金社区评选的的掘金技术引力榜重磅出炉,共有22个优秀实践案例上榜,涵盖对技术行业发展有特别贡献的人物.开发工具.开源项目.技术团队和技术 ...
- React错误: Can't resolve 'react-dom/client'
错误截图 解决方案 当你的react版本低于18时,但仍然报这个错误,可以采用如下方案 意外的发现当我采用上述方案时,我的React路由跳转时,页面不刷新的问题也解决了,很神奇,日后技艺精进再补充.