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

好久没有写博客了,正好今天有时间把前几天写的利用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


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-11-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端杂货铺

node模块加载层级优化

模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载。但是随着应用...

3708
来自专栏Java后端技术栈

基于TCP和HTTP协议的RPC简单实现

(1)RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网...

1073
来自专栏烙馅饼喽的技术分享

用ECMAScript4 ( ActionScript3) 实现Unity的热更新

unity热更新是一个经久不衰的话题。除了最常见的lua之外,还有如JSBinding,C#等等。这里介绍一个使用ECMAScript4进行热更新的方案。它吸收...

2744
来自专栏向治洪

Node.js原理

概述 Node.js是什么 Node 是一个服务器端 JavaScript 解释器,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动,...

4416
来自专栏编程

Linux探秘之用户态与内核态

Unix/Linux的体系架构 ? 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——...

4999
来自专栏Java成神之路

Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint

异常信息:errcode:48001 errmsg:api unauthorized hint

1304
来自专栏Crossin的编程教室

Python 实战(1):在网页上显示信息

上次简单介绍了 web.py。今天先来粗略解释下那个 hello world 页面的代码: import web 导入 web.py 模块。 urls = ( ...

3467
来自专栏前端正义联盟

gitflow 开发流程学习(第二部分)

1656
来自专栏编程软文

开发过程中快速抓包并解析

这几天小编在工作中遇到了一个灵异事件,客户端使用的是安卓原生系统,服务端使用的是java。需求就是客户端在照相的时候可以实时上传照片。后台接收并保存,并且可以在...

2593
来自专栏java思维导图

乐观锁的两种实现方式(总结和实践)

如果你觉得文字太长,可以直接先看文末思维导图总结,小编已为你整理了作者的主要观点,供你回顾与快速阅读~

1291

扫码关注云+社区

领取腾讯云代金券