用快递100的API接口写一个Python程序

用快递100的API接口写一个Python程序

Python小七2018-11-16 17:14:4711390A+A-

双11 不少同学快递还没有收到,有的还在路上一直都没物流信息.每天都会查询快递多遍.我们可以用Python 写一个程序来批量查询快递单号哦!

image.png


这里用到的快递查询API是http://www.kuaidi100.com/   步骤也非常的简单,先要识别快递种类 不然没法查询的.

代码也不多 40行不到. 需要用到的库 requests_html   没有安装的同学 赶紧把这个库安装一下! 这是最新的库  Python 版本一定要3.6以上哦   安装方法 pip install requests_html   


image.png


本教程非常适合刚开始学习Python的同学 ,因为比较简单.也没有用到什么复杂的库. 好了废话不多说 还是附上源代码吧!

from requests_html import HTMLSession
session = HTMLSession()


def sb(dh):
    '''用来识别快递 返回快递种类!'''
    url = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=' + dh
    header = {
        'Referer': 'http://www.kuaidi100.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest'
    }
    r = session.get(url, headers=header)
    r = r.json()
    return r['auto'][0]['comCode']


def kuaidi100(dh):

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
    }
    url = 'http://www.kuaidi100.com/query'
    data = {
        'type': sb(dh),
        'postid': dh,
        'temp': '0.916395518853228'
    }
    r = session.get(url, params=data)
    r = r.json()
    #print(r)
    for x in r['data']:
        print(x['ftime'] + '-' * 7 + x['context'])


if __name__ == '__main__':
    print('*' * 20 + '在线实时快递查询系统' + '*' * 20)
    dh = str(input('请输入快递单号:'))
    kuaidi100(dh)


点击这里复制本文地址 以上内容由小七资源网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

小七资源网 © All Rights Reserved.  Copyright 小七资源网
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!email:[email protected]