使用python自动追踪快递信息的案例

  介绍

这篇文章将为大家详细讲解有关使用python自动追踪快递信息的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python主要应用领域有哪些

1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。

其实并不复杂,只需要两步即可搞定:

<李>

爬取物流动态信息

<李>

将信息推送至邮箱

<强>物流追踪

先说一下走过的坑,在一开始的思路就是去找个快递查询的网站查一下快递,然后抓一下包就能拿到我们需要的内容,然后写个爬虫去追踪快递信息,结果一百度发现基本国内查快递的网站用的都是快递100的API,申请个API还要提供一个网站供对方审核,并且还有次数限制。不申请API直接爬得到的物流信息被各种加密。翻遍GitHub也没有找到一个可以用的。折腾半天终于找到一个网站可以使用。直接上代码

import 请求   import  bs4   import 再保险   时间=kuaidi  []   url=& # 39; http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8&类型=zto&数量=你的单号& # 39;   时间=response  requests.get (url)   时间=response.encoding  & # 39; gb18030 # 39;,   response =response.text   soup =, bs4.BeautifulSoup(响应,& # 39;html.parser& # 39;, from_encoding=皍tf8")   for 小姐:soup.findAll拷贝(name=& # 39; div # 39;, attrs =,{& # 39;类# 39;:& # 39;icontent& # 39;}):   ,kuaidi.append (i.get_text ())   ,打印(i.get_text ())

这一段代码我们使用多很多次就不过多解读了,用请求+ bs4爬结果和提取我们需要的目标信息,当然注意到这只是中通快递的查询链接

使用python自动追踪快递信息的案例

因此我们需要再写一个函数来生成更多快递公司的查询链接,这也不是很困难

def  express_type_get ():   ,express_type =, (& # 39; sfexpress& # 39; & # 39;有效# 39;,& # 39;停止# 39;,& # 39;人# 39;,& # 39;zto& # 39;, & # 39; ems # 39;, & # 39; ttdex& # 39;, & # 39; htky& # 39;, & # 39; qfkd& # 39;, & # 39; chinapost& # 39;)   ,打印(& # 39;////////////////快递公司////////////////\ n1。顺丰,2。韵达,3。申通,4。圆通,5。中通\ n6.EMS  7。天天,8。汇通,9。全峰,10。邮政\ n////////////////////////////////////////& # 39;)   ,while 真正的:=,int, express (输入(& # 39;请选择快递公司(数字):& # 39;))   ,if 表达:   if 才能express  & lt;=, 10,以及express 祝辞=,1:   ,打破   其他的才能:   打印才能(“错误的选择!“)   ,其他的:   打印才能(“不能为空!“)   ,return  express_type [express-1]      id def  get_url(代码):=,url  & # 39; http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8& type=& # 39;, +, code  +, & # 39;及数量=& # 39;+,id   ,   ,return  url

这样我们就完成了第一步!最终我们将所有的物流信息保存在一个列表里

使用python自动追踪快递信息的案例

<强>物流信息推送至邮箱

在上一步我们得到了快递的最新物流信息,那么如果我们想将最新的物流信息发送到邮箱该怎样操作呢?这也不困难,只需要使用yagmail模块就可以,安装也很简单<代码> pip install yagmail

<强>直接看代码,以qq邮箱为例

def 发送(kuaidi):=,,yag  yagmail.SMTP(,用户=暗锹接氏洹?,密码=懊苈搿?,主机=& # 39;smtp.qq.com& # 39;)   ,#邮箱正文=,contents  kuaidi   ,#发送邮件   ,yag.send(& # 39;目标邮箱& # 39;,,& # 39;最新快递追踪& # 39;,,内容)   ,打印(& # 39;邮件发送成功& # 39;)

第一行登陆邮箱,第二行填写发送内容,第三行发送邮件,小白也能看懂,但是需要注意的是这里的邮箱密码并不是你的QQ邮箱登陆密码而是SMTP服务器的密码,可以按照下面提示获取

使用python自动追踪快递信息的案例

使用python自动追踪快递信息的案例