您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用Python定時發(fā)送天氣郵件”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么用Python定時發(fā)送天氣郵件”文章能幫助大家解決問題。
效果如圖
一、獲取天氣
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 ='紫外線指數(shù):'+today['index'][0]['level'] +'\n'+ \ '穿衣指數(shù):'+today['index'][3]['desc']+'\n' wdc += 'tips:'+today['air_tips'] today_w = '今天 {} {}/{} 風力:{} 空氣指數(shù): {}/{} 日出日落: {}/{}'.format(today['wea'], today['tem1'], today['tem2'],today['win_speed'],today['air'], today['air_level'], today['sunrise'], today['sunset']) tomorrow_w = '明天 {} {}/{} 風力:{} 空氣指數(shù):{}/{} 日出日落: {}/{}'.format(tomorrow['wea'], tomorrow['tem1'], tomorrow['tem2'],tomorrow['win_speed'],tomorrow['air'], tomorrow['air_level'], tomorrow['sunrise'], tomorrow['sunset']) aftertomorrow_w = '后天 {} {}/{} 風力:{} 空氣指數(shù):{}/{} 日出日落: {}/{}'.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
四、發(fā)送郵件
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
五、組織信息,并發(fā)送
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系統(tǒng)設置定時啟動程序。
關于“怎么用Python定時發(fā)送天氣郵件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。