12、 一鍵查快遞

三角形發表於2019-04-11
    實現功能:使用者輸入快遞名稱和單號,程式即可在快遞100https://www.kuaidi100.com/爬取最新物流狀態,並將其列印出來。
 
 1 #12 一鍵查快遞
 2 #    實現功能:使用者輸入快遞名稱和單號,程式即可在快遞100https://www.kuaidi100.com/爬取最新物流狀態,並將其列印出來。
 3 
 4 import requests
 5 
 6 headers = {
 7     'Accept': 'application/json, text/javascript, */*; q=0.01',
 8     'Accept-Encoding': 'gzip, deflate, br',
 9     'Accept-Language': 'zh-CN,zh;q=0.9',
10     'Cache-Control': 'no-cache',
11     'Connection': 'keep-alive',
12     'Cookie': 'WWWID=WWW87CF938264094BB5DD55AD0CBC7ECB6B; Hm_lvt_22ea01af58ba2be0fec7c11b25e88e6c=1554733026; Hm_lpvt_22ea01af58ba2be0fec7c11b25e88e6c=1554733026',
13     'Host': 'www.kuaidi100.com',
14     'Pragma': 'no-cache',
15     'Referer': 'https://www.kuaidi100.com/',
16     'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',
17     'X-Requested-With': 'XMLHttpRequest'
18 }
19 
20 kuaidi_num = input('請輸入你的快遞單號: ')
21 #kuaidi_num = '600165600187721094'
22 
23 res = requests.get('https://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text={}'.format(kuaidi_num))
24 html = res.json()
25 kuaidi_gongsis = html['auto']
26 for i in kuaidi_gongsis:
27     kuaidi_gongsi_yn = input('您使用的快遞公司是{}嗎?(y / n)'.format(i['comCode']))
28     if kuaidi_gongsi_yn == 'y':
29         kuaidi_gongsi = i['comCode']
30         break
31 else:
32     kuaidi_gongsi = input('請輸入其他快遞公司名稱:')
33 
34 res = requests.get('https://www.kuaidi100.com/query?type={}&postid={}'.format(kuaidi_gongsi,kuaidi_num),headers=headers)
35 
36 html = res.json()
37 kuaidi_infos = html['data']
38 
39 print('------------------您的{}快遞運單號{}資訊如下:--------------'.format(kuaidi_gongsi,kuaidi_num))
40 
41 for kuaidi_info in kuaidi_infos:
42     print(kuaidi_info['time'],kuaidi_info['context'])
43 
44 '''
45 執行結果如下:
46 
47 D:\USERDATA\python>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
48 請輸入你的快遞單號: 600165600187721094
49 您使用的快遞公司是yuantong嗎?(y / n)y
50 ------------------您的yuantong快遞運單號600165600187721094資訊如下:--------------
51 2019-04-07 12:28:13 客戶 簽收人: 郵件收發章 已簽收 感謝使用圓通速遞,期待再次為您服務
52 2019-04-07 07:22:11 【北京市大興區亦莊西區公司】 派件人: 於博 派件中 派件員電話15311887923
53 2019-04-07 07:08:47 【北京市大興區亦莊西區公司】 已收入
54 2019-04-06 14:10:22 【北京轉運中心】 已發出 下一站 【北京市大興區亦莊西區公司】
55 2019-04-06 14:03:52 【北京轉運中心】 已收入
56 2019-04-04 20:45:45 【金華轉運中心】 已發出 下一站 【北京轉運中心】
57 2019-04-04 20:40:43 【金華轉運中心】 已收入
58 2019-04-04 20:10:32 【浙江省金華市金東區】 已發出 下一站 【金華轉運中心】
59 2019-04-04 19:52:08 【浙江省金華市金東區公司】 已打包
60 2019-04-04 19:49:53 【浙江省金華市金東區公司】 已收件
61 
62 D:\USERDATA\python>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
63 請輸入你的快遞單號: 600165600187721094
64 您使用的快遞公司是yuantong嗎?(y / n)n
65 您使用的快遞公司是dhlen嗎?(y / n)y
66 ------------------您的dhlen快遞運單號600165600187721094資訊如下:--------------
67 
68 D:\USERDATA\python>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
69 請輸入你的快遞單號: 600165600187721094
70 您使用的快遞公司是yuantong嗎?(y / n)n
71 您使用的快遞公司是dhlen嗎?(y / n)n
72 請輸入其他快遞公司名稱:daji
73 ------------------您的daji快遞運單號600165600187721094資訊如下:--------------
74 
75 '''

 

 
 
 
 

相關文章