社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python定时利用QQ邮件发送天气预报

马哥Linux运维 • 7 年前 • 990 次点击  


好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下。

  1. 首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.com/douments/api/s6/weather-forecast)

  2. 利用python的jinja2模块写一个html模板,用于展示数据

  3. python的email构建邮件,smtplib发送邮件

  4. 最后使用crontab定时执行python脚本

涉及的具体知识可以去看文档,本文主要就是解释代码的结构。

和风天气API

API没什么好说的,利用requests库去请求数据,然后提取出数据,使用方法和风天气API说的很详尽了 

HTML模板

利用jinja2在和脚本同级的目录写一个HTML模板

写好模板,我们就需要在脚本中引入他,并给他传递数据

email构建邮件,smtplib发送邮件

注意:

1、首先需要开启QQ邮箱的SMTP服务,一般端口是465

2、在构建邮件和发送邮件时都需要接受者的邮箱,但是他们需要的数据格式是不同的,在构建邮件时,接受者邮箱需要转换成一个string,而在发送邮件时,接受者邮箱必须是一个list

crontab定时发送邮件

我想对crontab说:

这个crontab真的是大坑,坑了我好久,坑的我不行不行的。

既然你们诚心诚意的发问了,那我就大发慈悲的告诉你们是那些坑吧:

1、在crontab中要写觉得路径,包括python3,查看python的安装位置:

2、如果脚本中涉及了中文,记得一定要写export LANG="****",如果不知道属性是什么:

3、不要写 if __name__ == '__main__',除非你在代码中用到了类

然后 crontab -e写入类似下面的代码:

表示在每晚的22:00执行脚本,具体的crontab语法可以自行搜索

邮件:

ok:ok_hand:

源代码:

作者:老板丶鱼丸粗面

来源:http://www.cnblogs.com/qqandfqr/p/7844610.html




————广告时间————


马哥教育2017年Python自动化运维开发实战网络班12月3日开班, 马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才

扫描二维码领取学习资料

更多Python好文请点击【阅读原文】哦

↓↓↓


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/uwT1V3r754
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4204
 
990 次点击