如果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-8from email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrimport smtplibdef _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()

看结果图。

最后,小编整理了自学Python的教程资料和项目训练+PDF电子书籍、免费分享给大家!

老规矩,关注 并 私信小编 “ 学习 ”即可领取啦!

  • 设计模式及异常处理
  • 坦克大战
  • 核心编程
  • jquery动画特效
  • Ajax异步网络请求
  • Django-博客项目
  • Django-商城项目
  • 正则表达式
  • Python爬虫基础
  • Python爬虫Scrapy框架

第一阶段

Python开发基础和核心特性1.变量及运算符2.分支及循环3.循环及字符串4.列表及嵌套列表5.字典及项目练习6.函数的使用7.递归及文件处理8.文件9.面向对象10.设计模式及异常处理11.异常及模块的使用12.坦克大战13.核心编程14.高级特性15.内存管理

第二阶段

数据库和linux基础1.并发编程2.网络通信3.MySQL4.Linux5.正则表达式

第三阶段

web前端开发基础1.html基本标签2.css样式3.css浮动和定位4.js基础5.js对象和函数6.js定时器和DOM7.js事件响应8.使用jquery9.jquery动画特效10.Ajax异步网络请求

第四阶段

Python Web框架阶段1.Django-Git版本控制2.Django-博客项目3.Django-商城项目4.Django模型层5.Django入门6.Django模板层7.Django视图层8.Tornado框架

第五阶段

Python 爬虫实战开发1.Python爬虫基础2.Python爬虫Scrapy框架


以上这Python自学教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!

获取方式:关注 并 私信小编 “ 学习 ”,即可免费获取!

flask-mail异步发送邮件_Python爬虫系列:用邮件来通知爬虫异常状况相关推荐

  1. 【python爬虫 系列】1.理解网络爬虫

    第一节:理解网络爬虫 1.1网络爬虫的定义 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.另外一些不常使用的名字还有 ...

  2. python爬虫系列(一):爬虫简介

    一 什么是爬虫 爬虫:就是抓取网页数据的程序. 二.爬虫怎么抓取网页数据: 网页三大特征: -1. 网页都有自己唯一的URL(统一资源定位符)来进行定位 -2. 网页都使用HTML (超文本标记语言) ...

  3. 【Python爬虫系列】浅尝一下爬虫40例实战教程+源代码【基础+进阶】

    前言 哈喽!哈喽!我是栗子同学~ 小编从最初的Python入门安装开始到现在更新了90多篇文章啦. 但是新手系列更新完之后--后续的爬虫系列更不动,大家也知道这个机制,很多内容不能发 滴!很多小伙伴儿 ...

  4. 爬虫系列 | 1、什么是爬虫,玩爬虫的正确姿势有哪些

    一.爬虫简介 爬虫是一个帮助我们去寻找网络上小姐姐的照片或视频并且下载到本地的技术 Emmm- 似乎有点跑题了,百度百科上是这样解释爬虫的 是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. ...

  5. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类

    1 前言 近期,有些朋友问我一些关于如何应对反爬虫的问题.由于好多朋友都在问,因此决定写一篇此类的博客.把我知道的一些方法,分享给大家.博主属于小菜级别,玩爬虫也完全是处于兴趣爱好,如有不足之处,还望 ...

  6. 《跟我一起学爬虫系列》3-一个简单爬虫示例

    本文抓取页面为http://news.baidu.com/,首先介绍下无关紧要但有必要了解的,然后代码说明 robots.txt Robots协议全称是网络爬虫排除标准,网站通过Robots协议定义网 ...

  7. python爬虫系列:12306票务信息爬虫

    前言 授人以鱼不如授人以渔,这篇文章主要想教大家的是分析过程,以后遇到其他问题时也能从容应付.当然,在文章最后会附上代码,直接点的同学可以跳过前面两节 一.环境配置 Python版本:3.7 IDE: ...

  8. 爬虫系列 | 5、详解爬虫中正则的用法

    通过requests库,我们可以轻易的获取到网页的源代码.但是如果想更精细化的提取我们想要的内容,就需要对内容进行解析了. 这个时候我们可以通过一个非常强大的工具来帮助我们 ---- 正则表达式 正则 ...

  9. 从零开始学爬虫系列3:漫画下载,动态加载、反爬虫这都不叫事!

    1 前言 前文回顾: 从零开始学爬虫系列1:初识网络爬虫之夜探老王家 从零开始学爬虫系列2:下载小说的正确姿势 经过上两篇文章的学习,爬虫三步走:发起请求.解析数据.保存数据,已经掌握,算入门爬虫了吗 ...

最新文章

  1. 《NoSQL精粹》思维导图读书笔记
  2. 长沙理工大学计算机系教师,长沙理工大学数学与计算机科学学院导师介绍:王晚生...
  3. 什么是高并发,如何避免高并发
  4. P5221 Product(反演)
  5. 百度新闻的索引机制(二):智能聚类
  6. Python开发常用工具库
  7. 对象复制的7种方法,还是Spring的最好用!
  8. mac 显示隐藏文件的命令行和快捷键
  9. 山西首次举办明清水陆画专题展 多数藏品首次面世
  10. Spark共享变量(广播变量、累加器)
  11. web自动化知识点-02
  12. vsr matlab仿真,电压型PWM整流器(VSR)及控制系统的matlab仿真..docx
  13. 51单片机用HS0038B读取遥控按键码
  14. 使用Python将word转换为pdf
  15. 论文解读GNNs Exponentially Lose Expressive Power For Node Classification
  16. Linux文件群发脚本
  17. 阿里 java 面试题 p6_「独家」五面阿里P6:Java开发面试题及答案
  18. 系统架构师—软件架构设计(二)CS/BS/SOA/DSSA/ABSD
  19. 【学校联考】CQYZ_Vijos_P3755 轰炸
  20. zookeeper自问自答

热门文章

  1. java_函数的概述
  2. Android视频录制从不入门到入门系列教程(一)————简介
  3. 创建型模式之工厂方法模式
  4. UIView的Touch事件UIControlEvents详解
  5. hello !CNBLOG
  6. 各位加了一天班累了吧?那我们来继续未完的表单验证吧
  7. 全部省市县数据库(SQL脚本)以及简单递归查询
  8. C语言课后习题(49)
  9. 神经网络优化——学习率
  10. 数据3分钟丨《个人信息保护法》将施行;2021全球分布式云大会将在沪召开;GaussDB取得“双第一”...