更多博文关注个人博客: http://cloudbps.com


接到需求帮朋友监控一个信息网站,当该网站有相关的数据更新的时候发送信息到指定邮箱.
下面是相关的python脚本,用到了httplib, time , sys ,smtplib模块


#!/usr/bin/env python#coding=utf8import httplib, timeimport sysimport smtplib
reload(sys)
sys.setdefaultencoding('utf8')from email.mime.text import MIMEText
mailto_list=['sendmail@126.com']
mail_host="smtp.sina.com"mail_user="sendmailaccount"mail_pass="sendmailpassword"mail_postfix="sina.com"sec=60conn = httplib.HTTPConnection("网站地址")
conn.request("GET", "搜索后的网站地址|/caigou/kw-%E6%B1%A1%E6%B0%B4%E5%A4%84%E7%90%86%E6%8B%9B%E6%A0%87.html") 
r1 = conn.getresponse()
a = r1.read()defsend_mail(to_list,sub,content):me="网站信息已更新"+"<"+mail_user+"@"+mail_postfix+">"msg = MIMEText(content,_subtype='html',_charset='utf8')
    msg['Subject'] = sub
    msg['From'] = me
    msg['To'] = ";".join(to_list)try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me, to_list, msg.as_string())
        s.close()returnTrueexcept Exception, e:print str(e)returnFalseprint"The program is starting"whileTrue:
	time.sleep( sec )
	b = r1.read()	if a == b:		print'good running ,Now it is ' + time.strftime('%Y年%m月%d日,%H:%M:%S')+ '\n请稍后.....'else:		print"网站更新"if __name__ == '__main__':			if send_mail(mailto_list, "网站信息已更新", "对应网站域名"):        			print"发送成功"else:        			print"发送失败"
		a = r1.read()