python使用request库把响应结果写入excel
python爬虫爬完存入数据库
Mysql数据库,安装,卸载,修改密码,连接等笔记
前面写的是存入数据库,现在写下发邮件
获取邮箱的授权码
发邮件需要先拿到邮箱的授权码,我选的是qq邮箱
在设置-账户 里现在生成授权码,然后按提示发短信就能拿到一串数字
邮箱配置代码部分
接下来是代码部分,前面的拿数据和解析数据就不再赘述了,都是一样的,发邮件需要用到
import smtplib
from email.mime.text import MIMEText
from email.header import Header
写一个函数,先设置邮箱信息,再定义邮件内容,以下为完整代码:
def sendMail():
from_addr = "邮箱名称@qq.com" # 发送邮箱
password = "刚刚拿到的授权码" # 邮箱授权码
to_addr = "邮箱名称@qq.com" # 接收邮箱
mailhost = "smtp.qq.com" # qq邮箱的smtp地址
qqmail = smtplib.SMTP() # 建立SMTP对象
qqmail.connect(mailhost, 25) # 25为SMTP常用端口
qqmail.login(from_addr, password) # 登录邮箱
content = ""
for new in workData(): # 拼接邮件内容字符串,这里假设workData()方法里已经有想要的数据useDate、useAllmoney
content += (
"useDate:"
+ str(new[0])
+ "\n"
+ "useAllmoney:"
+ str(new[3])
+ "\n"
)
content += (
"---\n---"
)
subject=("这是邮件标题")
msg = MIMEText(content, "plain", "utf-8")
msg["subject"] = Header(subject, "utf-8")
try:
qqmail.sendmail(from_addr, to_addr, msg.as_string())
print("发送成功")
except:
print("发送失败")
qqmail.quit()
sendMail()#手动调用测试一下
运行后就收到邮件啦。
定时执行
定时任务需要导入定时模块
# 定时模块
import schedule
# 设定每天早上8点执行任务
schedule.every().day.at("08:00").do(job)
while True:
try:
schedule.run_pending() # 运行所有可以运行的任务
time.sleep(1)
except Exception as e:
time.sleep(1)
print(e)
定时任务的频率也可以根据自己的需求去写
schedule.every(10).seconds.do(main) # 每隔 10 分钟运行一次 main函数
schedule.every(10).minutes.do(main) # 每隔 10 分钟运行一次 main函数
schedule.every().hour.do(main) # 每隔 1 小时运行一次 main函数
schedule.every().day.at("10:30").do(main) # 每天在 10:30 时间点运行 main 函数
schedule.every().monday.at("08:15").do(main) # 每周一 08:15 时间点运行 main函数
schedule.every().minute.at(":15").do(main) # 每分钟的 15 秒时间点运行 main函数
以上。
有帮助请帮我点个赞吧。。谢谢~