有图有真相

脚本代码

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

# 快递100 API
# 作者: 剑齿虎
# 邮箱: yuxiaobo64@gmail.comimport 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=0for this in com['auto']:i = i + 1print( 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'] = 1data['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")

转载于:https://www.cnblogs.com/edk24/p/9582254.html

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

  1. 神经网络和深度学习(二)——一个简单的手写数字分类网络

    本文转自:https://blog.csdn.net/qq_31192383/article/details/77198870 一个简单的手写数字分类网络 接上一篇文章,我们定义了神经网络,现在我们开 ...

  2. python爬虫简单练手:音乐top250

    python爬虫简单练手:音乐top250 使用的库bs4和requests: 通过requests发送网络请求 通过bs4的beautifulsoup解析html 页面分析: top250一共有10 ...

  3. java设计最简单记账本_Springboot简单练手的记账本

    Springboot简单练手的记账本 昨天看雷哥的教程写了个简单的记账本练练手,没有把笔记整理下来放在博客上,今天补上.言归正传,进入正题. 老规矩,我们还是先看看项目的目录结构,以及登陆界面 每个包 ...

  4. Springboot简单练手的记账本

    Springboot简单练手的记账本 昨天看雷哥的教程写了个简单的记账本练练手,没有把笔记整理下来放在博客上,今天补上.言归正传,进入正题. 老规矩,我们还是先看看项目的目录结构,以及登陆界面 每个包 ...

  5. 推荐一个C++练手项目,面试也可用

    经常有人问我,C++初学阶段有哪些项目可以拿来练手? 我一般都会建议他们尝试去写一个单元测试框架.因为这个项目十分考验我们对C++基础语法的掌握度. 但是自己摸索容易出错和遗漏,所以给大家推荐下面这个 ...

  6. Qt5.9一个简单的手写界面demo

    本文主要总结一个最简单的手写界面demo,具体代码如下. 1.1新建一个widget工程,不要勾选ui界面.然后分别在widget.h.widget.cpp.main.cpp分别添加如下代码. wid ...

  7. python开发系统-python3+django2开发一个简单的人员管理系统

    一.基础环境准备 windows环境: Pycharm python3.6 Django2.0.1 Mysql5.7 安装django 在pycharm terminal 控制台执行: python3 ...

  8. 用一个简单的例子说明SQL子查询

    SQL的子查询(subqueries) 用一个简单的例子来说明subqueries的应用. 现有两个表格,第一个表格名为student,第二个表格名为student_information. 第一个表 ...

  9. Python3三个简单练手小游戏

    学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来: 1.猜拳: import random #导入随机模块num = 1 yin_num = 0 shu_n ...

最新文章

  1. Connection cannot be null when 'hibernate.dialect'
  2. c java 异常_javac -version 异常
  3. Java Instant类
  4. mag6000变送器怎么使用_变送器的迁移原理和故障分析
  5. easyui label显示不全_easyui 元素遍历问题
  6. codeforces 688D D. Remainders Game(中国剩余定理)
  7. 《JavaScript高效图形编程(修订版)》——6.7 画布绘制基础
  8. 《设计模式详解》行为型模式 - 命令模式
  9. 在.net 当中如何XML序列化一个Collection
  10. 高分meta分析质量评价方法
  11. 单片机很简单?我们来聊聊如何进阶
  12. 盘点2022年爆火的小程序游戏
  13. 用python抠图方便还是ps方便_我会Python之后都不屑用PS了,Python抠图太方便了!...
  14. 2023年安徽省职业院校技能大赛“网络空间安全” 比赛任务书
  15. [体感游戏]关于体感游戏的一些思考(五) --- 导航
  16. Ax、Bx、Cx、Dx、AL、BL、CL、DL、AH、BH、CH、DH
  17. adobe cs5 indesign 不显示文本框_Adobe CS5 InDesign自动添加页码
  18. chirp和tone burst信号激励
  19. 【Linux篇】第十六篇——生产者消费者模型
  20. Android Q读写共享目录媒体文件

热门文章

  1. java开发学历要求_学Java开发有学历限制要求吗?
  2. javascript动态字母
  3. MySQL优化--索引
  4. java: 代码过长_给初学Java,知道这4点太重要了!
  5. mysql tiqu mssql_mysql数据表如何导入MSSQL中
  6. P Laguna/ A database for evaluation of algorithms for measurement of QT and other waveform interval
  7. 6. 吴恩达机器学习课程-作业6-SVM
  8. http请求状态码表示的意义
  9. PAT (Basic Level) Practice1027 打印沙漏
  10. innodb逻辑存储结构