中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何爬取快遞100能查詢的物流信息

發布時間:2021-10-26 09:42:46 來源:億速云 閱讀:442 作者:柒染 欄目:大數據

python如何爬取快遞100能查詢的物流信息,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

我們經常會去查快遞的物流單號,可是這些物流單號是從哪里來的呢?

快遞鳥集合了多家快遞公司查詢接口,輸入相應快遞公司編碼和快遞單號就可以獲取到對應的物流信息很方便快捷。

python如何爬取快遞100能查詢的物流信息

項目目標

教會大家如何用Python編程去查詢自己的物流信息。

python如何爬取快遞100能查詢的物流信息

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解析獲取對應的字段。

項目實現

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 >= '0' and out <= '7':
          break
      else:
          print("\n")
          continue

效果展示

1、點擊綠色小三角運行,之后輸入快遞公司代表的編號。

python如何爬取快遞100能查詢的物流信息

2、輸入你的快遞單號,之后在控制臺上可以看到顯示結果,如下圖所示。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘肃省| 当涂县| 巨鹿县| 韩城市| 含山县| 新宁县| 随州市| 海原县| 五河县| 昭通市| 奉化市| 米脂县| 昌图县| 吉安县| 肃宁县| 桂平市| 高雄县| 兴山县| 洪江市| 六盘水市| 杭州市| 元朗区| 道真| 镇巴县| 增城市| 额济纳旗| 宁河县| 澎湖县| 龙山县| 青河县| 海阳市| 崇仁县| 瑞金市| 商南县| 安西县| 安泽县| 黑河市| 达尔| 利川市| 沂南县| 分宜县|