目录

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实战】自动邮件天气提醒相关推荐

  1. python实现12306抢票以及自动邮件发送提醒付款

    #写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流. 只做技术交流..... 嗯,程序结束后,自己还是得手动付款. 废话不多说,下面就直 ...

  2. python实战自动发消息

    文章目录 python的pynput实战,自动发消息 接下来要做的是自动发送<甜蜜蜜>歌词,送给你的小伙伴. 1.先导入相关库并实例化 2.第二步定位到对应的鼠标位置 3.导入歌词列表,定 ...

  3. python实战-educoder平台作业提醒小助手

    本文是网课摸鱼系列第四弹 前言 众所周知,作业ddl,是大学生生产力的主要来源,当然,与之并列的还有女/男朋友.然而作为重度拖延症患者,ddl不拖到最后的24个小时,那是不可能做的. 但是,常在河边走 ...

  4. Python实战——自动生成情人节对女朋友表白玫瑰花、爱心,以及用Python画一颗樱花树,愿祖国繁花与共!

    今天的技能帖想教大家用Python绘制绘制一棵樱花树,将它送给身在异地,或想去异地的小伙伴,当樱花未开时,我们在线共赏樱,当樱花盛开时,我们相约珞珈山下! 希望如约而至的不止樱花,还有疫情过后平安的你 ...

  5. python实战——发邮件

    from email import encoders#负责编码 from email.header import Header#负责处理邮件头 from email.mime.text import ...

  6. 利用python每日自动邮件自动推送股票新闻

    #百度新闻import requests import re import sys import openpyxl as pximport smtplib from email.mime.text i ...

  7. Python实战 | 爬取天气信息并数据可视化

    Github项目完整源码地址:https://github.com/xylon666/Visualization 结果展示: 环境配置 IDE:Pycharm 第三方库:requests,pandas ...

  8. Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...

  9. 【爬虫】力扣每日一题每天自动邮件提醒!!!

    使用python实现了一个力扣每日一题每天自动邮件提醒的小爬虫,小但实用!!! 文章目录 A.需求来源与分析 B.技术角度分析 C.具体分析步骤 1.接口协议分析 2.发邮件 3.写crontab放服 ...

最新文章

  1. hdu 2007题解
  2. 【虚拟化】docker部署nginx
  3. 最近配置IBM设备遇到的问题总结
  4. ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析
  5. 电大计算机应用基础试卷号2007,电大计算机应用基础(试卷版)计算机试卷7.doc...
  6. 31Exchange Server 2010跨站点部署-搬迁Exchange服务器到分支机构
  7. win7系统怎么更改语言及字体
  8. SEO人生衔接后用户可随时随地同他的合作伙伴协同工作
  9. CDS ORF 5‘UTR 3'UTR
  10. 服务器登陆地址怎么修改,服务器登陆地址怎么修改
  11. 如何拥有一个有意义的人生
  12. css3mediaquery移动端网页字体适应屏幕代码
  13. 在office2003中打开office2007文件的补丁(.docx文件,pptx文件打开方法)
  14. 天线接收功率计算公式_无线信号功率计算公式
  15. Swing-右键菜单
  16. 中标麒麟linux系统安装打印机_中标麒麟Linux操作系统和理光打印机完成互相兼容认证...
  17. 打2把王者荣耀的时间,学会JAVA自制验证码图片
  18. arx 块操作 头文件
  19. 京东网站页面编写(HTML、CSS、JS),包括京东秒杀的倒计时、轮播图等功能
  20. TCP/IP与OSI

热门文章

  1. 愿你历经千帆,归来仍是少年
  2. 电子类单位及公式转换
  3. 小程序对数组setData
  4. [nodemon] app crashed - waiting for file changes before starting...报错
  5. spring注解驱动开发-4 Spring 自动装配
  6. 这应该是最通俗易懂的PyEcharts的操作指南!
  7. 二进制树型搜索算法选择电子标签的迭代过程
  8. 机械原理第二章 连杆机构总结
  9. 必备 免费Iges(Igs) 3d模型素材网站
  10. 浏览器问题-FireFox-Adobe Flash 插件已崩溃解决方法