0
点赞
收藏
分享

微信扫一扫

【Python实战】自动邮件天气提醒

王小沫 2022-01-27 阅读 67

【项目介绍】自动邮件发送

自动邮件发送是常见的办公需求,例如要发送日常的工作报表,用Python写了一个监控天气的脚本,就可以通过邮件的方式来提醒自己,方便你的生活和工作。

下面通过制作监控和查询城市天气脚本,了解邮件发送的思路,设置邮箱,并发送一封简单的天气监控邮件,在项目实践的过程中学习基础的Python知识。

1.【安装第三方模块】requests

 注:安装过 pip 可能需要更新到最新版本之后才能 安装 requests

https://blog.csdn.net/m0_59990133/article/details/122709175?spm=1001.2014.3001.5502

2.【获取网页URL信息】requests.get('url地址‘)

调用requests库的get方法,在线访问城市天气信息,若访问成功会返回一个200的状态码。实战任务中使用北京城市天气信息的网址:http://wthrcdn.etouch.cn/weather_mini?city=北京,并用双引号或引号包住。

 3.【信息存储为json文件】.json()

将查询到的天气信息存储为json文件 并打印查看文件信息 

 我们可以看到天气信息已经被保存在一个叫做“字典”的数据类型中。但其中有许多我们不需要的天气信息,需要把字典中的当天的天气数据查询并提取出来。
数据结构整理如下图:

 4.【字典信息数据查询】通过字典关键字查询天气信息

查询昨日最高温度:weather→"data"→"yesterday"→"high"

查询当日最低温度:weather→"data"→"forecast"→0→"low"

 5.【格式化字符串】使用.format()方法

输出类似"今日XX天气:XX,温度:XX~XX"之类的文本,需要格式化字符串,先在需要格式化的字符串内部用大括号{}在需要变量打印的位置占位,之后在字符串后用format(变量1,变量2,变量……)依次替换字符串内的占位符。

比如读取当天北京的最高温度、最低温度、感冒预警信息,并使用格式化字符输出

 6.【自动化邮信配置】安装第三方模块yagmail,配置一下QQ邮箱获取授权码

安装第三方模块yagmail

配置一下QQ邮箱获取授权码

7. 【自动发送邮件】yagmail.SMTP()

执行完成后,可以去QQ邮箱页面刷新页面,看有没有收到邮件。

注意:

    1.yag.send()内to后的邮箱即为接收邮箱;

    2.subject后的字符为邮箱标题;

    3.contents后的字符为邮件内容。

举报

相关推荐

0 条评论