给女朋友推送天气

使用的是和风天气的接口
网址是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()




运行效果:
在这里插入图片描述

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