91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

棋牌| 泗水县| 东港市| 九龙县| 乐东| 宁陕县| 宜君县| 苏尼特左旗| 句容市| 泰和县| 五台县| 略阳县| 建阳市| 融水| 资阳市| 吉林市| 同德县| 南阳市| 海原县| 泗阳县| 茂名市| 额敏县| 高阳县| 松阳县| 涡阳县| 钟祥市| 汝阳县| 芜湖县| 德清县| 北川| 彰化县| 同仁县| 苍溪县| 马关县| 自治县| 邮箱| 岳普湖县| 大英县| 浙江省| 特克斯县| 湘阴县|