前言:
现时看官们对“python爬取物流信息”大概比较注重,看官们都需要分析一些“python爬取物流信息”的相关资讯。那么小编也在网上收集了一些关于“python爬取物流信息””的相关文章,希望小伙伴们能喜欢,朋友们快快来学习一下吧!自从学了Python之后,写了很多小程序. 有的朋友经常网购,快递比较多,每天都要查询物流信息好几遍. 今天我们就用Python来写一个属于自己的程序!
首先需要用的Python模块是 requests_html 没有安装的请 pip install requests_html 进行安装!
首先需要识别快递单号的种类! 比如是韵达 还是圆通中通等! 我们用的API 接口是快递100的
输入快递单号后 ,GET请求 就会返回一段json的信息! comCode 对应是就是快递名称了!
识别到了快递名称后 ,我们需要再再来查询单号的物流信息. 返回的也是json信息
接下来开始写python代码了 ,需要两次请求, 第一次查询快递的名称 获取到快递的名称 然后传递给 查询单号的函数 ,再执行快递单号物流信息查询! 由于时间比较紧凑!代码写的不是很完整! 还有很多可以优化改进的地方. 有能力的同学 可以把代码优化的更完美一点!
废话不多说了 还是直接上代码吧:
from requests_html import HTMLSessionsession = HTMLSession()def sb(dh): '''用来识别快递 返回快递种类!''' url = ';text=' + dh header = { 'Referer': '', '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 = '' 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)
标签: #python爬取物流信息