爬虫数据存储
1、 HTML正文抽取
1.1、存储为json
首先使用Requests访问http://seputu.com/,获取HTML文档内容,并打印内容,代码如下
1.2、爬虫异常发送邮件
开启网易邮件的第三方设置
获取邮箱授权码
构造MIMEText对象时需要3个参数:邮件正文,MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',设置编码格式,utf-8编码保证多语言兼容性。
接着设置邮件的发件人、收件人和邮件主题等消息,并通过STMP发送出去。代码如下
#构造MIMEText对象时需要3个参数:邮件正文,MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',设置编码格式,utf-8编码保证多语言兼容性。 #接着设置邮件的发件人、收件人和邮件主题等消息,并通过STMP发送出去。代码如下 from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr,formataddr import smtplib def _format_adrr(s): print(s) name,addr=parseaddr(s) print(name,addr) return formataddr((Header(name,'utf-8').encode(),addr)) from_addr='15200723046@163.com' #发件人地址 password='951127chenyang' #邮箱授权码 to_addr='794418323@qq.com' smtp_server='smtp.163.com' #163网易邮箱服务器的地址 #设置邮件信息 msg=MIMEText('Python爬虫运行异常,异常信息为遇到HTTP 403','plain','utf-8') #发送的文本 msg['From']=_format_adrr('一号爬虫<%s>'%from_addr) #爬虫名 msg['To']=_format_adrr('管理员<%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() #关闭连接端口