首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫系列:用邮件来通知爬虫异常状况

Python爬虫系列:用邮件来通知爬虫异常状况

作者头像
龙哥
发布2018-10-22 14:23:51
1K0
发布2018-10-22 14:23:51
举报
文章被收录于专栏:Python绿色通道Python绿色通道

如果Python爬虫发生了故障,希望第一时间来通知自己,这个时候可以通过email来向自己报告。

发送邮件的协议是SMTP,Python内置对SMTP支持,可以发送纯文本邮件,html邮件,以及带附件的邮件,Python对SMTP的支持有smtplibemail两个模块,emial负责构造邮件,smtplib负责发送邮件。

这里我是用163邮箱来发送邮件的,开启SMTP功能,采用163的电子邮件服务器smtp.163.com

构造纯文本邮件
# msg = MIMEText('Python爬虫运行异常,异常信息为遇到HTTP 403', 'plain', 'utf-8')

MIMEText对象需要3个参数。

  • 邮件正文,
  • MIME的类型,plain表示纯文本发送,html,表示网页发送。
  • 设置邮件格式,这里彩了utf-8保证兼容多种语言。
构造网页邮件。
msg = MIMEText('<html><body><h1>hello</h1><p>异常网页<a href= "http://www.baidu.com">百度</a><p></body></html>', 'html', 'utf-8')

完整发邮件代码

# 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 = '******@163.com'    #这里换成你的邮件地址


# 邮箱密码

password = '*******'    #这里换成你的邮箱密码。



# 收件人地址

to_addr = '******@126.com'    #收件人的地址。我这里采用的是126邮箱,我发现QQ邮箱被拒收了。



# 163网易邮件服务器地址

smtp_server = 'smtp.163.com'



# 设置邮件信息

# msg = MIMEText('Python爬虫运行异常,异常信息为遇到HTTP 403', 'plain', 'utf-8')



msg = MIMEText('<html><body><h1>hello</h1><p>异常网页<a href= "http://www.baidu.com">百度</a><p></body></html>', 'html', 'utf-8')

msg['from'] = _format_addr('Python绿色通道<%s>' % from_addr)

msg['to'] = _format_addr('Python绿色通道管理员<%s>' % to_addr)

msg['subject'] = Header('Python绿色通道爬虫运行状态', '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()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python绿色通道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构造纯文本邮件
  • 构造网页邮件。
  • 完整发邮件代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档