/1 서문/
우리는 택배의 물류 추적번호를 자주 확인하는데, 이 추적번호는 어디서 오는 걸까요?
Express Bird는 여러 특송 회사 조회 인터페이스를 통합합니다. 해당 특송 회사 코드와 특급 주문 번호를 입력하면 해당 물류 정보를 매우 편리하고 빠르게 얻을 수 있습니다.
/2 프로젝트 목표/
모든 사람에게 Python 프로그래밍을 사용하여 자신의 물류 정보를 쿼리하는 방법을 가르칩니다.
/3 프로젝트 준비/
소프트웨어: PyCharm
필수 라이브러리: urllib.request、json
웹사이트는 다음과 같습니다:
https://www.kuaidi100.com
/4 Project Analysis/
2. 파일 찾기
query?type=shentong&postid=773036432685909&temp=0.0
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!