有图有真相

脚本代码

最近刚入门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. Kafka 杂谈

    开始之前 首先,此篇文章会有很多地方会和 RocketMQ 比较,不太熟悉 RocketMQ 可以去看看我之前写的RocketMQ基础概念剖析&源码解析,先有个大概的印象,可能会帮助你更好的理 ...

  2. celery笔记一之celery介绍、启动和运行结果跟踪

    本文首发于公众号:Hunter后端 原文链接:celery笔记一之celery介绍.启动和运行结果跟踪 本篇笔记内容如下: celery 介绍 celery 准备 celery 启动和异步任务的运行 ...

  3. Java(命令行传参、可变参数、递归

    1.命令行传参 通过命令行传参,main也可以传参 public class Hello { public static void main(String[] args) { for (int i = ...

  4. 「学习笔记」模运算与 BSGS 算法

    取模 取模符号:\(x \bmod y\),表示 \(x\) 除以 \(y\) 得到的余数. 例如, \[5 \bmod 3 = 2\\ 7 \bmod 4 = 3\\ 3 \bmod 3 = 0\\ ...

  5. 如何在矩池云上安装和使用 Stata

    Stata是一款功能强大的统计分析软件,本文提供了如何在矩池云安装使用 Stata,以及如何在 Jupyter 中使用 Stata 的简要教程. 安装 Stata 时需要确保按照官方指南进行操作,St ...

  6. 稳,从数据库连接池 testOnBorrow 看架构设计

    本文从 Commons DBCP testOnBorrow 的作用机制着手,管中窥豹,从一点去分析数据库连接池获取的过程以及架构分层设计. 以下内容会按照每层的作用,贯穿分析整个调用流程. 1️⃣框架 ...

  7. 使用React和Redux进行前端应用程序:现代Web应用程序框架

    目录 标题:<27. 使用 React 和 Redux 进行前端应用程序:现代 Web 应用程序框架> 背景介绍: 随着现代 Web 应用程序的发展,前端开发人员需要一种高效的.灵活的框架 ...

  8. 手撕HashMap(一)

    HashMap基本了解 1. jdk1.7之前,HashMap底层只是数组和链表 2. jdk1.8之后,HashMap底层数据结构当链表长度超过8时,会转为红黑树 3. HashMap利用空间换时间 ...

  9. 统信UOS国产服务器操作系统(UOS Server 20-1060e)安装使用体验

    总体来说,UOS系统的安装还是很简明的.需要注意的是后期的驱动安装和其他各方面的使用细节. 以下是具体安装过程:(感谢统信软件河北团队的大力支持.) 特别感谢统信的郭赞.喵喵喵.Zero等各位大神的帮 ...

  10. 简约版八股文(day1)

    Java基础 面向对象的三大基本特征 封装:将一些数据和对这些数据的操作封装在一起,形成一个独立的实体.隐藏内部的操作细节,并向外提供一些接口,来暴露对象的功能. 继承:继承是指子类继承父类,子类获得 ...