/1 前言/
大家好,欢迎来到 Crossin的编程教室 !
我们经常会去查快递的物流单号,可是这些物流单号是从哪里来的呢?
“快递100”是一个集合了多家快递公司查询接口,输入相应快递公司编码和快递单号就可以获取到对应的物流信息,很方便快捷。我们可以通过它来实现自己查询工具。
/2 项目目标/
利用Python编程去查询自己的物流信息。
/3 项目准备/
软件:PyCharm
需要的库:urllib.request、json
网站如下:
/4 项目分析/
一、如何获取真正的网址,拿到相对应的接口?
1、chrome浏览器F12检查,随便输入一个快递单号,点击查找。如图:
2、找到请求的接口地址:
3、可以看到postid就是我们的快递单号,type就是各个快递公司的名字拼音的简称。那等下就可以定义这个字典去存放各个公司名字的简称拼接网址。
4、在 Preview 栏目里找到对应的 data,可以看到context就是物流信息。等下可以通过js解析获取对应的字段。
/5 项目实现/
1、定义一个class类继承object。导入需要的库和网址。定义一个字典kd_dict存放快递公司简称。
2、建立查询框架。
3、对js文件进行解析。
4、判断status的是不是200,是200才可以正常访问 ,获取对应的data。
5、for循环遍历,获取对应的字段。
6、程序循环。
/6 效果展示/
1、点击绿色小三角运行,之后输入快递公司代表的编号。
2、输入你的快递单号,之后在控制台上可以看到显示结果,如下图所示。
/7 小结/
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文章通过python爬取快递100,介绍了如何去拼接字符串,以及列表如何进行类型的转换。
3、通过文中Python程序,可以清晰的看到你的快递的物流信息。
4、欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
项目源码:
https://github.com/cassieeric/python_crawler/blob/master/Kuaidixinxi/Kuaidi.py
领取专属 10元无门槛券
私享最新 技术干货