本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于Python爬虫与数据挖掘 ,作者 Python进阶者

我们经常会去查快递的物流单号,可是这些物流单号是从哪里来的呢?

快递鸟集合了多家快递公司查询接口,输入相应快递公司编码和快递单号就可以获取到对应的物流信息很方便快捷。

项目目标

教会大家如何用Python编程去查询自己的物流信息。

项目准备

软件:PyCharm

需要的库:urllib.request、json

网站如下:

https://www.kuaidi100.com

项目分析

一、如何获取真正的网址,拿到相对应的接口?

1、chrome浏览器F12检查,随便输入一个快递单号,点击查找。如图:

2、找到

query?type=shentong&postid=773036432685909&temp=0.0

这个文件。找到Request URL:复制网址。

3、分析网址:

https://www.kuaidi100.com/query?type=shentong&postid=773036432685909&temp=0.03191355265516216&phone=

4、可以看到postid就是我们的快递单号,type就是各个快递公司的名字拼音的简称。那等下就可以定义这个字典去存放各个公司名字的简称拼接网址。

5、找到Preview=>>对应的data可以看到context就是物流信息。等下可以通过js解析获取对应的字段。

项目实现

1、定义一个class类继承object。导入需要的库和网址。定义一个字典kd_dict存放快递公司简称。

import urllib.request

import json

kd_dict = {1: 'shentong', 2: 'youzhengguonei', 3: 'yuantong', 4: 'shunfeng', 5: 'yunda', 6: 'zhongtong'}

class YU(object):

pass

2、建立查询框架。

while True:

print("输入要查询快递公司:")

print("1.申通 2.EMS邮政 3.圆通 4.顺风 5.韵达 6.中通 0.退出\n ")

choose = int(input("请选择您的快递公司:"))

while choose not in range(0, 7):

choose = int(input("抱歉暂不支持此公司请重新选择:"))

if choose == 0:

break

kd_num = input("请输入快递单号:")

3、对js文件进行解析。

url = "http://www.kuaidi100.com/query?type=%s&postid=%s" % (kd_dict[choose], kd_num)

response = urllib.request.urlopen(url)

html = response.read().decode('utf-8')

target = json.loads(html)

4、判断status的是不是200,是200才可以正常访问 ,获取对应的data。

if status == '200':

data = target['data']

# print(data)

data_len = len(data)

# print(data_len)

# print("\n")

5、for循环遍历,获取对应的字段。

for i in range(data_len):

print("\n时间: " + data[i]['time'])

print("状态: " + data[i]['context'] + "")

print("\n感谢使用!\n")

break

else:

print("输入有误请重新输入!\n")

6、程序循环。

while True:

YU.Check()

out = input("按任意数字退出(其他键继续).........")

if out >= '0' and out <= '7':

break

else:

print("\n")

continue

效果展示

1、点击绿色小三角运行,之后输入快递公司代表的编号。

2、输入你的快递单号,之后在控制台上可以看到显示结果,如下图所示。

python爬取物流信息_python爬取快递100,运行代码就能查询的物流信息相关推荐

  1. python爬取快递100,运行代码就能查询的物流信息

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python爬虫与数据挖掘 ,作者 Python进阶者 我们经常会 ...

  2. Python命令行解析:IDE内点击Run运行代码直接得出结果、基于TF flags(或argparse、sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果

    Python命令行解析:IDE内点击Run运行代码直接得出结果.基于TF flags(或argparse.sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果 目录 命令行解析 T1.采 ...

  3. python获取天气分析_Python爬取南京市往年天气预报,使用pyecharts进行分析

    上一次分享了使用matplotlib对爬取的豆瓣书籍排行榜进行分析,但是发现python本身自带的这个绘图分析库还是有一些局限,绘图不够美观等,在网上搜索了一波,发现现在有很多的支持python的绘图 ...

  4. python分析b站_Python爬取并分析B站最热排行榜,我发现了这些秘密

    现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户.源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉丝的u ...

  5. python爬去学校_python爬取学校教务系统

    写这个爬虫的缘由 以前用java写过一个爬取学校的教务系统的爬虫 https://blog.csdn.net/ygdxt/article/details/81158321,最近痴迷Python爬虫,了 ...

  6. python制作手机壁纸_Python爬取手机壁纸图片

    使用Python爬取图片. 1 说明 本文通过爬虫程序的编写,实现了一个简单易懂的爬虫程序,方便初学者理解,主要程序分为网页获取函数,以及保存下载函数,这就是所有爬虫程序的基本思想.(本文不涉及反爬, ...

  7. python微信爬取教程_python爬取微信文章方法

    本文给大家分享的是使用python通过搜狗入口,爬取微信文章的小程序,非常的简单实用,有需要的小伙伴可以参考下 本人想搞个采集微信文章的网站,无奈实在从微信本生无法找到入口链接,网上翻看了大量的资料, ...

  8. python动态爬取实时_python爬取动态数据实战---猫眼专业版-实时票房(二)

    学习python进行简单的数据爬取(基于python 3.x).再进行数据页面解析之后,使用scrapy框架进行爬取数据.没有实现自己预想的效果,着实是自己能力有限,无法灵活使用该框架.就使用自己的办 ...

  9. python爬取歌曲_python爬取网易云音乐热歌榜实例代码

    首先找到要下载的歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更改你要保存的目录,目录要先建立好文件夹,例如我 ...

最新文章

  1. 150亿参数,谷歌开源了史上最大视觉模型V-MoE的全部代码
  2. 主板上这家伙,要当 CPU 和内存的中间商!
  3. 《Python数据分析》-Ch01 Python 程序库入门
  4. PL/SQL程序设计 第一章 PL/SQL 程序设计简介
  5. Python字符串和正则表达式中的反斜杠(‘\‘)问题
  6. 认证android retrofit,Retrofit之项目介绍
  7. Flask-Script扩展命令行manager = Manager(app)
  8. PHP list的赋值
  9. bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级【分层图+spfa】
  10. 链接标签(HTML)
  11. vim替换字符(包括行首行尾添加字符串)
  12. java命令行参数args_Args4J (Java 命令行参数控制开源项目) 使用指南
  13. 拯救天使 (BFS)
  14. 在Java中构建响应式微服务系统——第三章 构建响应式微服务
  15. 【安洵杯 2019】easy-web
  16. 土壤微生物多样性分析
  17. 微型linux系统测试网卡,自制一个小型Linux(附带网络功能)
  18. Container with most water(盛水最多的容器)
  19. 张飞实战电子第一部总结笔记
  20. maven打包配置详解

热门文章

  1. 一行代码实现 ofo app 首次注册时的步骤控件
  2. Adobe Illustrator CS6绿色版下载地址【打开错误16务必选择管理员运行】
  3. 少儿学编程系列---使用递归画雪花
  4. python多项式拟合_Python 普通最小二乘法(OLS)进行多项式拟合,最小二乘法拟合二次多项式,多元函数拟合。如 电...
  5. Swagger(丝袜哥) 快速入门(超详细介绍)
  6. iOS 微信、支付宝、银联、Paypal 支付组件封装
  7. pandas使用方法说明
  8. VBA18随机函数RND例子(抽奖、指定几率、随机凑数)
  9. 装修日记--爱家个案
  10. wx2540h配置教程_求WX2540h设置MAC接入认证方法!