【Python实战】自动邮件天气提醒
目录
1.【安装第三方模块】requests
2.【获取网页URL信息】requests.get('url地址‘)
3.【信息存储为json文件】.json()
4.【字典信息数据查询】通过字典关键字查询天气信息
5.【格式化字符串】使用.format()方法
6.【自动化邮信配置】安装第三方模块yagmail,配置一下QQ邮箱获取授权码
7. 【自动发送邮件】yagmail.SMTP()
【项目介绍】自动邮件发送
自动邮件发送是常见的办公需求,例如要发送日常的工作报表,用Python写了一个监控天气的脚本,就可以通过邮件的方式来提醒自己,方便你的生活和工作。
下面通过制作监控和查询城市天气脚本,了解邮件发送的思路,设置邮箱,并发送一封简单的天气监控邮件,在项目实践的过程中学习基础的Python知识。
1.【安装第三方模块】requests
方式1:linux系统 【命令行窗口】中输入【pip install requests】
方式2:【pycharm】file>settings>project interpreter>【+】>搜索【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文件 并打印查看文件信息
import requests data = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=北京') weather = data.json() print(weather)
我们可以看到天气信息已经被保存在一个叫做“字典”的数据类型中。但其中有许多我们不需要的天气信息,需要把字典中的当天的天气数据查询并提取出来。
数据结构整理如下图:
4.【字典信息数据查询】通过字典关键字查询天气信息
查询昨日最高温度:weather→"data"→"yesterday"→"high"
查询当日最低温度:weather→"data"→"forecast"→0→"low"
5.【格式化字符串】使用.format()方法
输出类似"今日XX天气:XX,温度:XX~XX"之类的文本,需要格式化字符串,先在需要格式化的字符串内部用大括号{}在需要变量打印的位置占位,之后在字符串后用format(变量1,变量2,变量……)依次替换字符串内的占位符。
比如读取当天北京的最高温度、最低温度、感冒预警信息,并使用格式化字符输出
today_type = weather['data']['forecast'][0]['type'] today_high = weather['data']['forecast'][0]['high'] today_low = weather['data']['forecast'][0]['low'] ganmao = weather['data']['ganmao'] print("今日北京天气:{},气温:高温{} 低温{},{}。".format(today_type,today_high,today_low, ganmao))
6.【自动化邮信配置】安装第三方模块yagmail,配置一下QQ邮箱获取授权码
安装第三方模块yagmail
方式1:linux系统 【命令行窗口】中输入【pip install yagmail】
方式2:【pycharm】file>settings>project interpreter>【+】>搜索【yagmail】
配置一下QQ邮箱获取授权码
第一步:设置>在邮箱设置中找到账户选项
第二步:页面下拉至POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
确保你邮箱账号的 POP3/SMTP 服务已启动。
第三步:成功开启服务后会出现下图的黄色提示部分。点击生成授权码,复制授权码保存即可
7. 【自动发送邮件】yagmail.SMTP()
import yagmail yag = yagmail.SMTP(user='你的QQ邮箱地址@qq.com', password='输入刚刚复制的授权码',host='smtp.qq.com') yag.send(to = '你的QQ邮箱地址@qq.com',subject ='测试邮件标题',contents = "测试邮件内容")
执行完成后,可以去QQ邮箱页面刷新页面,看有没有收到邮件。
注意:
1.yag.send()内to后的邮箱即为接收邮箱;
2.subject后的字符为邮箱标题;
3.contents后的字符为邮件内容。
【Python实战】自动邮件天气提醒相关推荐
- python实现12306抢票以及自动邮件发送提醒付款
#写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流. 只做技术交流..... 嗯,程序结束后,自己还是得手动付款. 废话不多说,下面就直 ...
- python实战自动发消息
文章目录 python的pynput实战,自动发消息 接下来要做的是自动发送<甜蜜蜜>歌词,送给你的小伙伴. 1.先导入相关库并实例化 2.第二步定位到对应的鼠标位置 3.导入歌词列表,定 ...
- python实战-educoder平台作业提醒小助手
本文是网课摸鱼系列第四弹 前言 众所周知,作业ddl,是大学生生产力的主要来源,当然,与之并列的还有女/男朋友.然而作为重度拖延症患者,ddl不拖到最后的24个小时,那是不可能做的. 但是,常在河边走 ...
- Python实战——自动生成情人节对女朋友表白玫瑰花、爱心,以及用Python画一颗樱花树,愿祖国繁花与共!
今天的技能帖想教大家用Python绘制绘制一棵樱花树,将它送给身在异地,或想去异地的小伙伴,当樱花未开时,我们在线共赏樱,当樱花盛开时,我们相约珞珈山下! 希望如约而至的不止樱花,还有疫情过后平安的你 ...
- python实战——发邮件
from email import encoders#负责编码 from email.header import Header#负责处理邮件头 from email.mime.text import ...
- 利用python每日自动邮件自动推送股票新闻
#百度新闻import requests import re import sys import openpyxl as pximport smtplib from email.mime.text i ...
- Python实战 | 爬取天气信息并数据可视化
Github项目完整源码地址:https://github.com/xylon666/Visualization 结果展示: 环境配置 IDE:Pycharm 第三方库:requests,pandas ...
- Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...
- 【爬虫】力扣每日一题每天自动邮件提醒!!!
使用python实现了一个力扣每日一题每天自动邮件提醒的小爬虫,小但实用!!! 文章目录 A.需求来源与分析 B.技术角度分析 C.具体分析步骤 1.接口协议分析 2.发邮件 3.写crontab放服 ...
最新文章
- 学习html5系列之比较典型的div滥用
- netapp存储服务器文档,NetApp秘密开发服务器闪存?
- Spring消息之WebSocket
- 红蓝对抗 linux内网渗透
- 嵌入式LINUX环境下视频采集知识
- struts2 的国际化
- 由塔科马大桥事件 谈软件架构
- 单片机c语言pwm整流的程序,基于 单片机控制PWM整流电源的设计.doc
- 信捷伺服刚性调整_信捷電氣(603416):伺服與PLC增長將加速,口罩機解決方案帶來新增量...
- 计算机视觉实验数学形态学,计算机视觉形态学边缘检测.doc
- 不刷新改变URL: pushState + Ajax
- mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
- python打包的exe反编译_将python打包的.exe文件还原成.py,针对Pyinstaller的exe反编译-exe文件...
- 威纶触摸屏485直接控制监控台达vfd-m变频器程序
- 最适合程序员的笔记软件
- java抓取豆瓣网页内容_爬虫实践--豆瓣电影当前上映电影信息爬取
- MySQL快速解决“is marked as crashed and should be repaired“故障
- EXCEL 根据超链接直接显示图片
- LBM学习讨论群推荐
- 复制粘贴,替换规律性内容的小技巧
热门文章
- 网易云信消息抄送php,实时音视频事件-消息抄送服务-进阶功能-音视频通话2.0-网易云信开发文档...
- JQuery-Demo5:图片广告位
- 【人工智能】技术采纳:重新思考医疗保健的罗杰钟形曲线
- 「镁客早报」NASA成立寻找外星人研究小组;CBInsights公布全球32家AI独角兽名单...
- 云起实验室:使用RDS和ECS搭建个人博客
- python 解压zip密码正确但解压失败_在Python中用密码解压zip文件失败的bug?
- 原理剖析-Netty之无锁队列
- [Zer0pts2020]Can you guess it?(basename漏洞)
- 生肖猪鼠年运程面面观
- 高数叔建模第四章:相关分析方法与计算