人生苦短 我用Python 本人从事Python爬虫行业,最近一个头疼的事情就是有的网站时间不规整(新闻时间大于当前时间,时间处理不当),为了避免这类事情再次发生,我想使用Python每个一个
人生苦短 我用Python
本人从事Python爬虫行业,最近一个头疼的事情就是有的网站时间不规整(新闻时间大于当前时间,时间处理不当),为了避免这类事情再次发生,我想使用Python每个一个小时去数据库里查一次如有大于当前时间的数据网站则邮件通知我,我采取改代码和删数据操作。
具体代码如下:
# coding=utf-8import smtplib
from email.mime.text import MIMEText
def send_email(content):
msg_from = 'xxxxx@qq.com' # 发送方邮箱
passwd = 'xxxxxxx' # 填入发送方邮箱的授权码
msg_to = 'xxxxx@163.com' # 收件人邮箱
subject = "爬虫警告" # 主题
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
s = smtplib.SMTP_SSL("smtp.qq.com", 465)# 邮件服务器及端口号
s.login(msg_from, passwd)
s.sendmail(msg_from, msg_to, msg.as_string())
s.quit()
if __name__ == '__main__':
send_email('当前时间戳是{},\n 该条数据时间戳是{},\n 该数据ID是{}, \n 该网站名称是{}, \n')
这里用到了Python的两个包来发送邮件: smtplib 和 email 。
Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”。使用的 MIMEText 对象,为底层的 MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)协议传输创建了一封空邮件,最后通过高层的SMTP 协议发送出去。 MIMEText 对象 msg 包括收发邮箱地址、邮件正文和主题,Python 通过它就可以创建一封格式正确的邮件。smtplib 模块用来设置服务器连接的相关信息。
要想通过QQ邮箱来发送邮件,需要开启QQ邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了。