目录

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. 学习html5系列之比较典型的div滥用
  2. netapp存储服务器文档,NetApp秘密开发服务器闪存?
  3. Spring消息之WebSocket
  4. 红蓝对抗 linux内网渗透
  5. 嵌入式LINUX环境下视频采集知识
  6. struts2 的国际化
  7. 由塔科马大桥事件 谈软件架构
  8. 单片机c语言pwm整流的程序,基于 单片机控制PWM整流电源的设计.doc
  9. 信捷伺服刚性调整_信捷電氣(603416):伺服與PLC增長將加速,口罩機解決方案帶來新增量...
  10. 计算机视觉实验数学形态学,计算机视觉形态学边缘检测.doc
  11. 不刷新改变URL: pushState + Ajax
  12. mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
  13. python打包的exe反编译_将python打包的.exe文件还原成.py,针对Pyinstaller的exe反编译-exe文件...
  14. 威纶触摸屏485直接控制监控台达vfd-m变频器程序
  15. 最适合程序员的笔记软件
  16. java抓取豆瓣网页内容_爬虫实践--豆瓣电影当前上映电影信息爬取
  17. MySQL快速解决“is marked as crashed and should be repaired“故障
  18. EXCEL 根据超链接直接显示图片
  19. LBM学习讨论群推荐
  20. 复制粘贴,替换规律性内容的小技巧

热门文章

  1. 网易云信消息抄送php,实时音视频事件-消息抄送服务-进阶功能-音视频通话2.0-网易云信开发文档...
  2. JQuery-Demo5:图片广告位
  3. 【人工智能】技术采纳:重新思考医疗保健的罗杰钟形曲线
  4. 「镁客早报」NASA成立寻找外星人研究小组;CBInsights公布全球32家AI独角兽名单...
  5. 云起实验室:使用RDS和ECS搭建个人博客
  6. python 解压zip密码正确但解压失败_在Python中用密码解压zip文件失败的bug?
  7. 原理剖析-Netty之无锁队列
  8. [Zer0pts2020]Can you guess it?(basename漏洞)
  9. 生肖猪鼠年运程面面观
  10. 高数叔建模第四章:相关分析方法与计算