Python爬虫实战 │ Email提醒(附代码+福利优惠码)
通过“Email提醒”实例演示Python爬虫综合实战。
01
Email提醒
大家可能会奇怪 Email在 Python 爬虫开发中有什么用呢? Email主要起到提醒作用,当爬虫在运行过程中遇到异常或者服务器遇到问题时,可以通过 Email及时向自己报告。
发送邮件的协议是STMP,Python内置对SMTP的支持,可以发送 纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP的支持包括smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
在介绍发送Email之前,首先申请一个163邮箱,开启 SMTP功能。这里采用的网易的电子邮件服务器smtp.163.com,如图15-1所示。
■ 图15-1 163邮箱开启SMTP
将SMTP开启之后,构造一个纯文本邮件:
from email.mime text import MIMEText
msg = MIMEText('Python爬虫运行异常,异常信息为遇到HTTP403','plain','utf-8')
构造MIMEText对象时需要3个参数:
• 邮件正文。
• MIME的subtype,传入“plain”表示纯文本,最终的MIME就是“text/plain”。
• 设置编码格式,UTF-8编码保证多语言兼容性。
接着设置邮件的发件人、收件人和邮件主题等信息,并通过SMTP发送出去。代码如下:
#coding:utf-8
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
def_format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
#发件人地址
from_addr = '[email protected]'
#邮箱密码
password = 'pass'
#收件人地址
to_addr = '[email protected]'
#163网易邮箱服务器地址
smtp_server = 'smtp.163.com'
#设置邮件信息
msg = MIMEText('Python爬虫运行异常,异常信息为遇到HTTP 403', 'plain', 'utf-8')
msg['From'] = _format_addr('一号爬虫 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('一号爬虫运行状态', 'utf-8').encode()
#发送邮件
server = smtplib.SMTP(smtp_server, 25)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
有时候发送的可能不是纯文本,需要发送 HTML 邮件,以便将异常网页信息发送回去。在构造MIMEText对象时,把HTML字符串传进去,再把第二个参数由“plain”变为“html”就可以了。如下所示:
msg = MIMEText('<html><body><h1>Hello<h1>'+
'<p>异常网页<ahref="http:www.cnblogs.com"> cnblogs</a>…</p>'+'
</body></html>'.'html','utf-8')
02
源代码下载
关注微信公众号,后台回复关键词 “Email提醒” 即可获得完整源代码。
03
参考书籍
《Python网络爬虫案例实战》
ISBN:978-7-302-56228-3
作者:李晓东
定价:89元
编辑推荐
以案例项目为主线讲述Python爬虫开发中所需的知识和技能;
具有超强的实用性,项目随着图书内容的推进不断趋于工程化;
书中给出了80多个实例让读者理解概念、原理和算法
清华大学出版社给爱读书的你们最大的优惠力度!
添加优惠券,“实付满300减60”
目前图书本身还在48折左右,所以综合起来折扣更低!
这可是超大的优惠力度,优惠码数量有限,还不赶紧薅羊毛!
优惠码:
TVZTMT
使用渠道:当当小程序或当当APP
使用时间:5月30日~6月3日
使用方法:
·步骤一,挑选心仪的图书至购物车点击结算
·步骤二,点击优惠券/码处
·步骤三,输入优惠码 TVZTMT(注意要大写)
需要注意的是:优惠码全场自营图书可用(教材、考试类除外)
扫码,微店购买全套Python图书
04
精彩文章回顾
Python深度学习 │一文掌握卷积神经网络 Python爬虫实战 │ 用selenium爬取百度表情包(附代码) Python爬虫实战│状态521网页的爬取 Python爬虫实战│爬取天气数据的实例详解(附源码) Python实训:用贪婪算法分析业务员路径问题|附源码 用Excel制作工资条实例|附素材+视频 真题解析│2017年蓝桥杯软件类省赛传统“送分题” Java 15新增类Record的工作实例|附代码 Dart应用Bloc设计模式实例|附代码
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。