python爬虫100个源码_python爬虫快递查询系统(源码)

import requests

import json

def get_express_type(postid):

'''根据快递单号来智能判断快递类型'''

url = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=%s' % (postid,) # 这里可以用元组这样保证的数据的安全性

# 把构造后的url通过requests请求来得到相应的数据是一个json数据

rs = requests.get(url)

# 再用json库中的loads数据来进行分析得到一个可用字典的方式来访问

kd_type_info = json.loads(rs.text)

kd_type = kd_type_info['auto'][0]['comCode']

return kd_type, postid

def execute_data_query(type, postid):

'''执行数据查询程序'''

# 通过构造一个真正的url地址

url = 'http://www.kuaidi100.com/query?type=%s&postid=%s' % (type, postid) # 这里可以用元组这样保证的数据的安全性

# 把构造后的url通过requests请求来得到相应的数据是一个json数据

rs = requests.get(url)

# 再用json库中的loads数据来进行分析得到一个可用字典的方式来访问

kd_info = json.loads(rs.text)

msg = kd_info['message']

# 判断是否成功获取到了json的数据,如果有数据则进行下一步的解析

if msg == 'ok':

print('您的快递%s物流信息如下:' % postid)

data = kd_info['data']

for data_dict in data:

time = data_dict['time']

context = data_dict['context']

print('时间:%s %s' % (time, context))

else:

if msg == '参数错误':

print('您输入信息有误,请重输:')

else:

print(msg)

def main():

'''快递查询主程序'''

while True:

print('**欢迎您登录快递查询系统**')

print('-' * 30)

print('** 1. 请输入您的快递单号 **')

print('** 0. 退出查询系统 **')

print('-' * 30)

order = input('查询请输入1退出请输入0:')

if order == '1':

# 进行快递查询操作

postid = input('请输入您的快递单号:')

type, postid = get_express_type(postid)

execute_data_query(type, postid)

elif order == '0':

exit()

else:

print('!!!!!您的指令输入有误,请重新输入:

if __name__ == '__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值