怎么用Python定时发送天气邮件(python,开发技术)

时间:2024-04-29 00:34:08 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

效果如图

怎么用Python定时发送天气邮件

一、获取天气

defgetWeather1(city):try:appid=os.environ["TIANQI_APPID"]appsecret=os.environ["TIANQI_APPSEC"]exceptKeyError:appid='x'x'x'x'#www.tianqiapi.com申请的appid,有免费apiappsecret='xxxx'#在www.tiaSnqiapi.com申请的appsecreturl='https://tianqiapi.com/api?version=v1&city={city}&appid={appid}&appsecret={appsecret}'.format(city=city,appid=appid,appsecret=appsecret)res=requests.get(url)ifres.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]))/2tomorrow_avg=(int(tomorrow['tem1'][:-1])+int(tomorrow['tem2'][:-1]))/2wdc='紫外线指数:'+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).daystodaydate=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_wreturntotal

二、获取金山词霸每日一句

defget_news():#获取金山词霸的每日一句的英文和翻译url="http://open.iciba.com/dsapi/"r=requests.get(url)content=r.json()['content']note=r.json()['note']news=content+'\n'+\notereturnstr(news)

三、获取Sweet word

defgetSweetWord():url='https://chp.shadiao.app/api.php'res=requests.get(url)returnres.text

四、发送邮件

defsendemail(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).daysemailtitle='爱你的第'+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

五、组织信息,并发送

defdailymorning():message=getWeather1('xxx')+'\n'+\get_news()+'\n'+\getSweetWord()+'\n'+\'来自最爱你xxx'receivers=[['xxxx@qq.com'],['xxxxxx@qq.com']]foriinrange(len(receivers)):dailyemail.sendemail(toaddr=receivers[i],message=message)print('sendreceiver[{}]success'.format(receivers[i]))

六、win10系统设置定时启动程序。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用Python定时发送天气邮件的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:JSON.toJSONString()空字段不忽略怎么修改下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18