給女朋友推送天氣

使用的是和風天氣的接口
網址是https://dev.heweather.com/

進網站之後點右上角註冊

註冊好之後登陸到網站,進入‘控制檯
點擊應用管理,創建一個應用
在這裏插入圖片描述
然後新建應用,我創建的是web端的,其他創建方法詳見https://dev.heweather.com/docs/getting-started/get-api-key。在這裏插入圖片描述
應用名稱自己隨便寫個,test之類的都行,注意的一點是綁定ip那個不要填,容易出錯。完事之後回到自己的應用,可以看到自己創建的一個應用,這個key值一會兒要用
在這裏插入圖片描述
接口調用的介紹在這裏https://dev.heweather.com/docs/api/
在這裏插入圖片描述
調用不同的接口,返回不同的數據,根據自己的需要自己選擇
下面就是我的完整代碼了

import requests
from pprint import pprint
from email.mime.text import MIMEText
from email.header import Header
import smtplib
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def email_s(aa):
    # 輸入Email地址和口令:
    #我用的126郵箱
    #你的126郵箱
    from_addr = '。。。。@126.com'
    #你的126郵箱密碼
    password = '。。。。'
    # 輸入收件人地址:,我發給我的qq郵箱了
    to_addr = '。。。。@qq.com'

    # 輸入SMTP服務器地址:如果你也用的126郵箱做發件人,就這樣寫,其他郵箱自己查一下了
    smtp_server = 'smtp.126.com'
	#這裏是郵箱的主體,也就是郵件內容
    msg = MIMEText('寶貝兒,這是給你的天氣預報哦。\n{}。永遠愛你!'.format(str(aa)), 'plain', 'utf-8')
    #這裏是郵件頭部信息
    msg['From'] = Header('來自在乎你的人的問候', 'utf-8')
    #接收郵箱
    msg['To'] = to_addr
    msg['Subject'] = Header('小可愛親啓:', 'utf-8')

    server = smtplib.SMTP(smtp_server, 25)  # SMTP協議默認端口是25
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()
def job():
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36',
    }

    url_life='https://free-api.heweather.net/s6/weather/lifestyle?location=104.06,30.6&key=d018de08891a41a7b79348ada27e6887'
    rq_life=requests.get(url_life,headers=headers)
    rq_life1=rq_life.json()
    # pprint(rq_life1)

    url_weather='https://free-api.heweather.net/s6/weather/now?location=104.06,30.6&key=d018de08891a41a7b79348ada27e6887'
    rq_weather=requests.get(url_weather,headers=headers)
    rq_weather1=rq_weather.json()
    # pprint(rq_weather1)
    cond_txt=rq_weather1['HeWeather6'][0]['now']['cond_txt']
    tmp=rq_weather1['HeWeather6'][0]['now']['tmp']
    fl=rq_weather1['HeWeather6'][0]['now']['fl']
    wind_dir=rq_weather1['HeWeather6'][0]['now']['wind_dir']
    wind_sc=rq_weather1['HeWeather6'][0]['now']['wind_sc']+'級'+'\n'
    comf_txt=rq_life1['HeWeather6'][0]['lifestyle'][0]['txt']+'\n'

    aa='今天天氣{},氣溫{},體感溫度{},{}{}{}自己根據天氣情況準備出發哦'.format(str(cond_txt),str(tmp),str(fl),str(wind_dir),str(wind_sc),str(comf_txt))
    print(aa)
    email_s(aa)
if __name__=='__main__':
    #job()
    #這裏是定時任務,每天的13:30運行,想知道其他定時時間的,可以看我另一篇博客
    scheduler = BlockingScheduler()
    scheduler.add_job(job, 'cron', hour=13, minute=30)
    scheduler.start()




運行效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章