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

2018-11-16 17:14:47  阅读 761 次 评论 0 条

双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)


本文地址:https://s7so.com/article/75.html
版权声明:本文为原创文章,版权归 神七搜 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?