> 백엔드 개발 > 파이썬 튜토리얼 > Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.

풀어 주다: 2023-07-25 17:13:50
앞으로
2721명이 탐색했습니다.

/1 서문/

우리는 택배의 물류 추적번호를 자주 확인하는데, 이 추적번호는 어디서 오는 걸까요?

Express Bird는 여러 특송 회사 조회 인터페이스를 통합합니다. 해당 특송 회사 코드와 특급 주문 번호를 입력하면 해당 물류 정보를 매우 편리하고 빠르게 얻을 수 있습니다.

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.


/2 프로젝트 목표/

모든 사람에게 Python 프로그래밍을 사용하여 자신의 물류 정보를 쿼리하는 방법을 가르칩니다.


/3 프로젝트 준비/

소프트웨어: PyCharm

필수 라이브러리: urllib.request、json

웹사이트는 다음과 같습니다:

https://www.kuaidi100.com
로그인 후 복사


/4 Project Analysis/

1. 실제 URL을 얻는 방법과 해당 인터페이스? 1. 크롬 브라우저 F12로 확인 후 택배번호 입력 후 클릭하여 검색하세요. 그림에 표시된 대로:

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.

2. 파일 찾기

query?type=shentong&postid=773036432685909&temp=0.0
로그인 후 복사

. 요청 URL 찾기: URL을 복사합니다.


3. 분석 웹사이트:

https://www.kuaidi100.com/query?type=shentong&postid=773036432685909&temp=0.03191355265516216&phone=
로그인 후 복사

4、可以看到postid就是我们的快递单号,type就是各个快递公司的名字拼音的简称。那等下就可以定义这个字典去存放各个公司名字的简称拼接网址。

5、找到Preview=>>对应的data可以看到context就是物流信息。等下可以通过js解析获取对应的字段。

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.


/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
로그인 후 복사


2、建立查询框架。

  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("请输入快递单号:")
로그인 후 복사


3、对js文件进行解析。

    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)
로그인 후 복사


4、判断status的是不是200,是200才可以正常访问 ,获取对应的data。

 if status == '200':
      data = target['data']
      # print(data)
      data_len = len(data)
      # print(data_len)
      # print("\n")
로그인 후 복사


5、for循环遍历,获取对应的字段。

  for i in range(data_len):
        print("\n时间: " + data[i]['time'])
        print("状态: " + data[i]['context'] + "")
    print("\n感谢使用!\n")
    break
else:
    print("输入有误请重新输入!\n")
로그인 후 복사


6、程序循环。

   while True:
      YU.Check()
      out = input("按任意数字退出(其他键继续).........")
      if out >= &#39;0&#39; and out <= &#39;7&#39;:
          break
      else:
          print("\n")
          continue
로그인 후 복사


/6 效果展示/

1. 녹색 삼각형을 클릭해 실행한 뒤, 택배회사 대표번호를 입력하세요.

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.


2. 특급 배송 번호를 입력하면 아래 그림과 같이 콘솔에 표시 결과를 볼 수 있습니다.

Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.


/7 요약/

1. 너무 많은 데이터를 캡처하는 것은 권장되지 않습니다. 서버에 부하가 걸리기 쉽습니다. 그냥 시도해 보세요. 간단히.
2 이 글에서는 Python 크롤링 익스프레스 100에서 문자열을 연결하는 방법과 목록 유형을 변환하는 방법을 소개합니다.
3. 기사에 있는 Python 프로그램을 통해 택배의 물류정보를 명확하게 확인할 수 있습니다.

위 내용은 Python을 사용하여 물류 정보를 쿼리하는 방법을 단계별로 가르칩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Go语言进阶学习
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿