青龙、python脚本--软考成绩查询提醒通知,此脚本仅用于查询成绩,请误用于其他途径。
import urllib.request,time,smtplib
# email 用于构建邮件内容
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = '发信邮箱@qq.com'
password = 'QQ 邮箱授权码'
# 收信方邮箱
to_addr = '收信方邮箱@qq.com'
# 发信服务器(默认)
smtp_server = 'smtp.qq.com'
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
msg = MIMEText('2022年软考成绩查询已开放,请到软考官网查询成绩,祝你取得优异成绩!', 'plain', 'utf-8')
# 邮件头信息
msg['From'] = Header('软考成绩查询通知') # 发送者
msg['To'] = Header('李四') # 接收者
subject = '2022年软考成绩查询'
msg['Subject'] = Header(subject, 'utf-8') # 邮件主题
url = r'https://query.ruankao.org.cn'+'/score/main'
headers ={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36','Referer': 'https://www.ruankao.org.cn/'
}
req = urllib.request.Request(url=url,headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
#print(html)
while True:
if '2022年上半年' in html:
print("可以查询成绩啦")
try:
smtpobj = smtplib.SMTP_SSL(smtp_server)
# 建立连接--qq邮箱服务和端口号(可百度查询)
smtpobj.connect(smtp_server, 465)
# 登录--发送者账号和口令
smtpobj.login(from_addr, password)
# 发送邮件
smtpobj.sendmail(from_addr, to_addr, msg.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("无法发送邮件")
finally:
# 关闭服务器
smtpobj.quit()
break
#time.sleep(60)
else:
print("当前时间还未能查询成绩")
#每三分钟查询一次
time.sleep(180)