python 校验快递 API python 编程 校验快递
最编程
2024-05-01 22:38:18
...
欢迎来到
视学算法
Life is short
You need Python
上边那句话是Python社区的名言,翻译过来就是“人生苦短,我用Python”。我没有遇到过一门编程语言可以如此干净、简介,如果你有处女座情节,你一定会爱上Python这门语言。下面就是用10行代码完成了快递查询的功能。
库:request 和 json,调用快递100-查快递,寄快递,上快递100的API。
效果展示
实现代码
"""
author : 阿广
data : 2018/10/21
"""
import json,requests
def searchPackage():
#输入运单号码,注意,只有正在途中的快递才可以查到!
packageNum = input('请输入运单号码:')
url1 = 'http://www.kuaidi100.com/autonumber/autoComNum?resultv2=1&text=' + packageNum
#用url1查询运单号对应的快递公司,如中通,返回:zhongtong。
#print(url1)
companyName = json.loads(requests.get(url1).text)['auto'][0]['comCode']
#print(requests.get(url1).text)
#print(companyName)
#在用url2查询和运单号、快递公司来查询快递详情,结果是一个json文件,用dict保存在resultdict中。
url2 = 'http://www.kuaidi100.com/query?type=' + companyName + '&postid=' + packageNum
print('时间↓ 地点和跟踪进度↓\n')
for item in json.loads(requests.get(url2).text)['data']:
print(item['time'],item['context'])
searchPackage() # 调用查询函数
阿广论道
有人问,本来在淘宝上就能查询到自己快递信息,你爬快递有什么用呢?我想说的是:没用!只是作为锻炼自己的一种方式,不积跬步无以至千里,从每一件小的事情做起,才能在遇到大的困难项目的时候得心应手。
我们现在用Python爬了一下快递很简单,简单到几行代码就解决了,但是爬虫代码想写好却不容易。譬如你爬取速度太快,总是被网站监测到,限制访问、封ip,于是你需要购买代理ip或者自己打造一个免费ip池。譬如你觉得现有的爬虫框架如Scrapy太臃肿,需要自己部分改造一下,手写个爬虫框架......譬如你爬取到的数据要用数据库存储(MongoDB、Mysql、redis、oracle...)譬如你爬取海量数据时单机爬取太慢了,你要学多进程、多线程、协程、分布式等。