这个是爬静态网页巩固练习的第二个小小小小小小项目,爬快递100网站查快递信息,这个其实很简单,本身这个网站就已经把该做的能做的都做好了,只需要把特定的信息提取出来就可以了,本次代码的编写过程让我意识到自己对类和方法掌握还不是很好,编写程序时不能及时运用,导致代码不是很整洁易懂,以后要尽量让代码Pythonic!下面是全部代码:
import json
import requests
num=input('请输入要查单号:')
urlpara = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text={}'#这里是用来找特定文件提取特定的单号对应的公司信息
paga =requests.get(urlpara.format(num))
if paga.status_code!=200:
print('查询失败!')
exit()
else:
jsonobj = json.loads(paga.text)#原代码中Json格式已经很整齐了,只需要找到需要的信息
# print(jsonobj)
for item in jsonobj.get('auto'):
com=item.get('comCode')
url='https://www.kuaidi100.com/query?type={}&postid={}'.format(com,num)#观察到了快递信息所对应链接格式,根据单号和公司构建所需链接
response = requests.get(url)
if response.status_code!=200:
print('查询失败!')
else:
mes=json.loads(response.text)
print(com+mes.get('message'))
if mes.get('message')=='ok':
for data in mes.get('data'):
print('%s %s' % (data.get('time'), data.get('context')))#输出快递信息
下面是结果截图: