Py编写自动化脚本每天发送邮件提醒天气(舔狗必备)
首先获取天气api
我这里使用的是和风天气api
先注册一个然后控制台保存自己的唯一key下面要用!!
然后
重点
很多之前的教程都是v6所以已经不适用了
这是正确的链接格式
https://devapi.qweather.com/v7/weather/3d?location=101010100&key=自己的key&gzip=n
后面gzip=n是因为请求后是zip格式加上这个会自动解压缩
location是地区id,自己网上查一下就有
在有了数据后开始编写脚本:
py拿到get拿到数据后需要json处理一下
并且获取json中的数据是需要用[‘name’]这种格式的上面是例子
自己拿到数据后拼接一下就行
编写发送的脚本:
if __name__ == "__main__":
# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = 'zzzzyzzzz@qq.com'
password = '自己的key'
# 收信方邮箱
to_addr = '自己的@qq.com,别人的qq邮箱,'
# 发信服务器
smtp_server = 'smtp.qq.com'
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
con = get_weather_data()
msg = MIMEText(con)
# 邮件头信息
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = Header('Have a good day!') //这个是邮件标题
# 开启发信服务,这里使用的是加密传输
server= smtplib.SMTP_SSL("smtp.qq.com",465)
server.login(from_addr,password)
server.sendmail(from_addr,to_addr.split(','),msg.as_string())
print("发送成功")
由于msg[to]接受的是字符串
但senmail第二个参数是数组,这里需要.split(‘,’)一下。这是一个坑
这个是开启smtp服务的过程自己在邮箱开一下,这里用qq做例子,我使用的是第二个’
运行后控制台会输出:
记着保存自己的key!!
最后:
自动每日准时发送需要一个准时的舔狗
或者 看我上一篇文章
下面贴完整的代码:
import time
from email.header import Header
import requests
import smtplib
from email