zoukankan      html  css  js  c++  java
  • 12、 一键查快递

        实现功能:用户输入快递名称和单号,程序即可在快递100https://www.kuaidi100.com/爬取最新物流状态,并将其打印出来。
     
     1 #12 一键查快递
     2 #    实现功能:用户输入快递名称和单号,程序即可在快递100https://www.kuaidi100.com/爬取最新物流状态,并将其打印出来。
     3 
     4 import requests
     5 
     6 headers = {
     7     'Accept': 'application/json, text/javascript, */*; q=0.01',
     8     'Accept-Encoding': 'gzip, deflate, br',
     9     'Accept-Language': 'zh-CN,zh;q=0.9',
    10     'Cache-Control': 'no-cache',
    11     'Connection': 'keep-alive',
    12     'Cookie': 'WWWID=WWW87CF938264094BB5DD55AD0CBC7ECB6B; Hm_lvt_22ea01af58ba2be0fec7c11b25e88e6c=1554733026; Hm_lpvt_22ea01af58ba2be0fec7c11b25e88e6c=1554733026',
    13     'Host': 'www.kuaidi100.com',
    14     'Pragma': 'no-cache',
    15     'Referer': 'https://www.kuaidi100.com/',
    16     'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',
    17     'X-Requested-With': 'XMLHttpRequest'
    18 }
    19 
    20 kuaidi_num = input('请输入你的快递单号: ')
    21 #kuaidi_num = '600165600187721094'
    22 
    23 res = requests.get('https://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text={}'.format(kuaidi_num))
    24 html = res.json()
    25 kuaidi_gongsis = html['auto']
    26 for i in kuaidi_gongsis:
    27     kuaidi_gongsi_yn = input('您使用的快递公司是{}吗?(y / n)'.format(i['comCode']))
    28     if kuaidi_gongsi_yn == 'y':
    29         kuaidi_gongsi = i['comCode']
    30         break
    31 else:
    32     kuaidi_gongsi = input('请输入其他快递公司名称:')
    33 
    34 res = requests.get('https://www.kuaidi100.com/query?type={}&postid={}'.format(kuaidi_gongsi,kuaidi_num),headers=headers)
    35 
    36 html = res.json()
    37 kuaidi_infos = html['data']
    38 
    39 print('------------------您的{}快递运单号{}信息如下:--------------'.format(kuaidi_gongsi,kuaidi_num))
    40 
    41 for kuaidi_info in kuaidi_infos:
    42     print(kuaidi_info['time'],kuaidi_info['context'])
    43 
    44 '''
    45 执行结果如下:
    46 
    47 D:USERDATApython>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
    48 请输入你的快递单号: 600165600187721094
    49 您使用的快递公司是yuantong吗?(y / n)y
    50 ------------------您的yuantong快递运单号600165600187721094信息如下:--------------
    51 2019-04-07 12:28:13 客户 签收人: 邮件收发章 已签收 感谢使用圆通速递,期待再次为您服务
    52 2019-04-07 07:22:11 【北京市大兴区亦庄西区公司】 派件人: 于博 派件中 派件员电话15311887923
    53 2019-04-07 07:08:47 【北京市大兴区亦庄西区公司】 已收入
    54 2019-04-06 14:10:22 【北京转运中心】 已发出 下一站 【北京市大兴区亦庄西区公司】
    55 2019-04-06 14:03:52 【北京转运中心】 已收入
    56 2019-04-04 20:45:45 【金华转运中心】 已发出 下一站 【北京转运中心】
    57 2019-04-04 20:40:43 【金华转运中心】 已收入
    58 2019-04-04 20:10:32 【浙江省金华市金东区】 已发出 下一站 【金华转运中心】
    59 2019-04-04 19:52:08 【浙江省金华市金东区公司】 已打包
    60 2019-04-04 19:49:53 【浙江省金华市金东区公司】 已收件
    61 
    62 D:USERDATApython>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
    63 请输入你的快递单号: 600165600187721094
    64 您使用的快递公司是yuantong吗?(y / n)n
    65 您使用的快递公司是dhlen吗?(y / n)y
    66 ------------------您的dhlen快递运单号600165600187721094信息如下:--------------
    67 
    68 D:USERDATApython>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe d:/USERDATA/python/12.py
    69 请输入你的快递单号: 600165600187721094
    70 您使用的快递公司是yuantong吗?(y / n)n
    71 您使用的快递公司是dhlen吗?(y / n)n
    72 请输入其他快递公司名称:daji
    73 ------------------您的daji快递运单号600165600187721094信息如下:--------------
    74 
    75 '''
     
     
     
     
  • 相关阅读:
    远程新建分支后,本地查看不到
    Python3之HTMLTestRunner测试报告美化
    Django项目之模型增删改查操作(CRUD)
    Django项目创建数据模型(Model)
    Django项目settings.py文件基础配置
    Django项目如何使用mysql数据库
    Django常用命令介绍
    快捷到处项目依赖包到requirements.txt
    pc 弹窗橡皮筋效果(自己纪录)
    小程序图片上传预览删除(记录)
  • 原文地址:https://www.cnblogs.com/www1707/p/10692443.html
Copyright © 2011-2022 走看看