边学边练。用python查询快递。
# coding:utf-8
'''
Created on 2018年3月16日下午12:12:52}
@author: chw
'''
import requests as req
import json
import sys
def 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)