邊學邊練。用python查詢快遞。
# coding:utf-8'''Created on 2018年3月16日下午12:12:52}@author: chw'''import requests as req import jsonimport sysdef getExpress(company, code): '''funcation: Get Express Infomation 2 args company: the express company code code: the express bill code ''' url = 'http://www.kuaidi100.com/query?type={}&postid={}'.format(company, code) response = req.get(url) if response.status_code != 200: print ('查詢失敗。{}'.format(response.status_code)) return None def parse(text): jsonobj = json.loads(text) print(('{}{}').format('目前狀態:', jsonobj.get('message'))) status = jsonobj.get('status') # 擷取狀態碼(200是正常) if status == '200': for x in jsonobj.get('data'): print('%s %s' % (x.get('time'), x.get('context'))) parse(response.text) def qureycomCode(mailNo): urlpara = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text={}' paga = req.get(urlpara.format(mailNo)) jsonobj = json.loads(paga.text.decode('utf8')) if paga.status_code != 200: return None for item in jsonobj.get('auto'): return item.get('comCode') return None if __name__ == '__main__': mailNo = '813422761260' comCode = qureycomCode(mailNo) if comCode is None: print('{}'.format('查詢失敗')) sys.exit() getExpress(comCode, mailNo)