/1 前言/
我们经常会去查快递的物流单号,可是这些物流单号是从哪里来的呢?
快递鸟集合了多家快递公司查询接口,输入相应快递公司编码和快递单号就可以获取到对应的物流信息很方便快捷。

/2 项目目标/
教会大家如何用Python编程去查询自己的物流信息。
/3 项目准备/
软件:PyCharm
需要的库:urllib.request、json
网站如下:
https://www.kuaidi100.com
/4 项目分析/
1、chrome浏览器F12检查,随便输入一个快递单号,点击查找。如图:

2、找到
query?type=shentong&postid=773036432685909&temp=0.0
这个文件。找到Request URL:复制网址。
3、分析网址:
https://www.kuaidi100.com/query?type=shentong&postid=773036432685909&temp=0.03191355265516216&phone=
4、可以看到postid就是我们的快递单号,type就是各个快递公司的名字拼音的简称。那等下就可以定义这个字典去存放各个公司名字的简称拼接网址。
5、找到Preview=>>对应的data可以看到context就是物流信息。等下可以通过js解析获取对应的字段。

/5 项目实现/
1、定义一个class类继承object。导入需要的库和网址。定义一个字典kd_dict存放快递公司简称。
import urllib.request
import json
kd_dict = {1: 'shentong', 2: 'youzhengguonei', 3: 'yuantong', 4: 'shunfeng', 5: 'yunda', 6: 'zhongtong'}
class YU(object):
pass while True:
print("输入要查询快递公司:")
print("1.申通 2.EMS邮政 3.圆通 4.顺风 5.韵达 6.中通 0.退出\n ")
choose = int(input("请选择您的快递公司:"))
while choose not in range(0, 7):
choose = int(input("抱歉暂不支持此公司请重新选择:"))
if choose == 0:
break
kd_num = input("请输入快递单号:") url = "http://www.kuaidi100.com/query?type=%s&postid=%s" % (kd_dict[choose], kd_num)
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
target = json.loads(html) if status == '200':
data = target['data']
# print(data)
data_len = len(data)
# print(data_len)
# print("\n") for i in range(data_len):
print("\n时间: " + data[i]['time'])
print("状态: " + data[i]['context'] + "")
print("\n感谢使用!\n")
break
else:
print("输入有误请重新输入!\n") while True:
YU.Check()
out = input("按任意数字退出(其他键继续).........")
if out >= '0' and out <= '7':
break
else:
print("\n")
continue/6 效果展示/
1、点击绿色小三角运行,之后输入快递公司代表的编号。

2、输入你的快递单号,之后在控制台上可以看到显示结果,如下图所示。

/7 小结/
以上就是手把手教你用Python查询你的物流信息的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号