用Python定时发送天气邮件
更新时间:2022年02月07日 11:37:36 作者:See you again31
大家好,本篇文章主要讲的是用Python定时发送天气邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
效果如图

一、获取天气
def getWeather1(city):
try:
appid = os.environ["TIANQI_APPID"]
appsecret = os.environ["TIANQI_APPSEC"]
except KeyError:
appid = 'x'x'x'x' #www.tianqiapi.com申请的appid,有免费 api
appsecret = 'xxxx' #在www.tiaSnqiapi.com申请的appsecret
url = 'https://tianqiapi.com/api?version=v1&city={city}&appid={appid}&appsecret={appsecret}'.format(city=city,
appid=appid,
appsecret=appsecret)
res = requests.get(url)
if res.json().get("errcode", 0) > 0:
print(res.json().get("errmsg"))
exit(0)
data = res.json()['data']
weather = {
'today': data[0],
'tomorrow': data[1],
'aftertomorrow': data[2]
}
today = weather['today']
tomorrow = weather['tomorrow']
aftertomorrow = weather['aftertomorrow']
today_avg = (int(today['tem1'][:-1]) + int(today['tem2'][:-1])) / 2
tomorrow_avg = (int(tomorrow['tem1'][:-1]) + int(tomorrow['tem2'][:-1])) / 2
wdc ='紫外线指数:'+today['index'][0]['level'] +'\n'+ \
'穿衣指数:'+today['index'][3]['desc']+'\n'
wdc += 'tips:'+today['air_tips']
today_w = '今天 {} {}/{} 风力:{} 空气指数: {}/{} 日出日落: {}/{}'.format(today['wea'], today['tem1'], today['tem2'],today['win_speed'],today['air'],
today['air_level'], today['sunrise'], today['sunset'])
tomorrow_w = '明天 {} {}/{} 风力:{} 空气指数:{}/{} 日出日落: {}/{}'.format(tomorrow['wea'], tomorrow['tem1'], tomorrow['tem2'],tomorrow['win_speed'],tomorrow['air'],
tomorrow['air_level'], tomorrow['sunrise'],
tomorrow['sunset'])
aftertomorrow_w = '后天 {} {}/{} 风力:{} 空气指数:{}/{} 日出日落: {}/{}'.format(aftertomorrow['wea'], aftertomorrow['tem1'],
aftertomorrow['tem2'],aftertomorrow['win_speed'],aftertomorrow['air'],
aftertomorrow['air_level'], aftertomorrow['sunrise'],
aftertomorrow['sunset'])
todaytime = datetime.now()
starttime = datetime.strptime('2020-08-21','%Y-%m-%d')
days = (todaytime-starttime).days
todaydate = str(todaytime.year) + '年' + str(todaytime.month) + '月' + str(todaytime.day) + '日'
total = '早安! 亲爱的xx,xxxxx~愿你每天开开心心!\n'+ \
'今天是:'+todaydate+','+'是和xxx在一起的第'+str(days)+'天,mua~\n'+ \
'近日天气如下,xxx要注意保暖哦!\n'+ \
today_w + '\n' + wdc +'\n'+ \
tomorrow_w + '\n' + \
aftertomorrow_w
return total二、获取金山词霸每日一句
def get_news():
# 获取金山词霸的每日一句的英文和翻译
url = "http://open.iciba.com/dsapi/"
r = requests.get(url)
content = r.json()['content']
note = r.json()['note']
news = content + '\n' + \
note
return str(news)三、获取Sweet word
def getSweetWord():
url = 'https://chp.shadiao.app/api.php'
res = requests.get(url)
return res.text四、发送邮件
def sendemail(toaddr='', message=''):
fromaddr = 'xxxxx@qq.com' # 你的邮箱
password = 'xxxxxfslfbfgg' # 你的密码,注意不是qq密码
smtp_server = 'smtp.qq.com' # smtp地址
msg = MIMEText(message, 'plain', 'utf-8')
msg['From'] = _format_addr('xxx <%s>' % fromaddr)
msg['To'] = _format_addr('xxx <%s>' % toaddr)
todaytime = datetime.now()
starttime = datetime.strptime('2020-08-21', '%Y-%m-%d')
days = (todaytime - starttime).days
emailtitle= '爱你的第'+str(days)+'天'
msg['Subject'] = Header(emailtitle, 'utf-8').encode()
server = smtplib.SMTP_SSL(smtp_server, 465)
server.set_debuglevel(1)
server.login(fromaddr, password)
server.sendmail(fromaddr, [toaddr], msg.as_string())
server.quit()
return五、组织信息,并发送
def dailymorning():
message = getWeather1('xxx') + '\n' + \
get_news() + '\n' + \
getSweetWord() + '\n' + \
'来自最爱你xxx'
receivers = [['xxxx@qq.com'], ['xxxxxx@qq.com']]
for i in range(len(receivers)):
dailyemail.sendemail(toaddr=receivers[i], message=message)
print('send receiver[{}] success'.format(receivers[i]))六、win10系统设置定时启动程序。
到此这篇关于用Python定时发送天气邮件的文章就介绍到这了,更多相关Python发送天气邮件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python torch.onnx.export用法详细介绍
这篇文章主要给大家介绍了关于Python torch.onnx.export用法详细介绍的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2022-07-07
Python将GIF动图转换为Base64编码字符串的步骤详解
在Web开发中,有时需要将图像文件(如GIF动图)转换为Base64编码的字符串,以便在HTML或CSS中直接嵌入图像数据,本文给大家就介绍了一个简单的教程,教你如何使用Python将GIF动图转换为Base64编码的字符串,需要的朋友可以参考下2025-02-02
详细介绍在pandas中创建category类型数据的几种方法
这篇文章主要介绍了详细介绍在pandas中创建category类型数据的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-04-04
如何使用 Python 中的功能和库创建 n-gram的过程
在计算语言学中,n-gram 对于语言处理、上下文和语义分析非常重要,本文将讨论如何使用 Python 中的功能和库创建 n-gram,感兴趣的朋友一起看看吧2023-09-09
pytorch+torchvision+python版本对应及环境安装
本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,以确保与PyTorch兼容,具有一定的参考价值,感兴趣的可以了解一下2025-03-03


最新评论