怎么用Python定时发送天气邮件
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要介绍"怎么用Python定时发送天气邮件"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用Python定时发送天气邮件"文章能帮助大家解决问题。
千家信息网最后更新 2024年11月11日怎么用Python定时发送天气邮件
这篇文章主要介绍"怎么用Python定时发送天气邮件"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用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定时发送天气邮件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
天气
指数
邮件
知识
空气
风力
密码
行业
词霸
金山
不同
亲爱
实用
保暖
信息
内容
地址
实用性
实际
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
枣庄机房服务器
连接csgo服务器出现问题
软件开发项目经理需要做哪些
东莞松下软件开发公司
扁平网络技术
传奇霸业那个服务器好
南昌软件开发贵吗
战地3服务器网址
中专网络安全数学基础
网络安全之我见百度文库
益阳小蚁网络技术
安徽网络技术服务计划表
东莞瑞庭网络技术
海南网络安全培训要怎么学
服务器x告警
如何玩别人的我的世界服务器
计算机三级网络技术题库
大学生网络安全责任书
传统数据库不足怎么办
海信软件开发工程师面试
莱芜戴尔服务器代理供应商
比较系统的网络安全教程
网络安全对一个国家重要性
网络安全宣传视频大学生
腾讯上海网络技术
杨浦区推广软件开发服务价格
江苏先进网络技术质量保证
深圳灵创网络技术
渝北区常规软件开发流程要求
金税盘安全服务器地址