Python + Email每天定时自动给女朋友发送天气预报等各种关爱

一、前言

闲暇之余,想给身边的朋友每天定时发送问候,本来想调微信来实现的,但由于微信处于安全考虑,已将网页授权登录关闭;

所以就想着用邮箱代替来实现一个每日关爱脚本 !!!

下面我们先看一下效果,如图;

好文章 记得收藏+点赞+关注额 !!!

---- Nick.Peng


二、关爱邮件效果图

  • 大概邮件信息以及格式如下,大家可以根据各自的需求微调;
    在这里插入图片描述

三、发送关爱邮件实现步骤

  • 项目依赖
    • Python版本:python3
    • 第三方包:requests、apscheduler

3.1、获取天气方法

  • 定义一个每日关爱邮件类;

  • 定义实例属性,下面会用到;

  • 定义获取天气信息的方法,详情如下,每个步骤都有备注,很容易懂;

    • 调用实例属性天气API;
    • 提取周信息、天气状况、最低最高气温、风向、风力、感冒预警关爱信息;
    • 制定邮件天气模版并填充以上提取的信息;
    class DailyGreeting(object):
    	"""
        每日邮件关爱
        """
        def __init__(self):
            self.cb_link = 'http://open.iciba.com/dsapi/'                       # 金山词霸api提供的每日一句
            self.whether_link = 'http://wthrcdn.etouch.cn/weather_mini?city='   # 天气api
    
        def get_whether(self, city):
            """
            获取天气信息
            :param city: 城市
            :return: msg
            """
            url = self.whether_link + city
            r = requests.get(url).json()
            week = r['data']['forecast'][0]['date'][-3:]            # 周几
            weather = r['data']['forecast'][0]['type']              # 天气
            low_temp = r['data']['forecast'][0]['low'][3:]          # 最低气温
            high_temp = r['data']['forecast'][0]['high'][3:]        # 最高气温
            wind_dir = r['data']['forecast'][0]['fengxiang']        # 风向
            wind_force = r['data']['forecast'][0]['fengli'][9:-3]   # 风力
            warn = r['data']['ganmao']                              # 感冒预提醒
            # 填充天气信息模板
            msg = '<br>亲爱的朋友,' + '今天 ' + week + '<br>' + \
                  '<br><font size=3 color=#0081ff><strong>天气:</strong></font>' + city + ' ' + weather + \
                  '<br><font size=3 color=#0081ff><strong>温度:</strong></font>' + low_temp + '~' + high_temp + \
                  '<br><font size=3 color=#0081ff><strong>风向:</strong></font>' + wind_dir + ',' + wind_force + \
                  '<br><br><font size=3 color=red><strong>注意:</strong></font>' + warn + '<br>'
            return str(msg)
    

3.2、获取词霸每日一句方法

  • 定义get_word方法,并调用实例属性词霸每日一句API;

  • 提取中英文每日一句;

  • 制定邮件每日一句模版并填充以上提取的信息;

    def get_word(self
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值