通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~
昨天菜鸟小白给大家留了一个课后作业,如何实现天气的定时推送。有没有小伙伴做出来答案呢?今天菜鸟小白给大家分享我的实现方式吧。这个是我今天整的程序流程图,昨天我们还只是实现了中间的通过和风天气API获取天气情况,今天我们需要实现其它部分。

计时器的实现
APScheduler是一个 Python 定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及 crontab 类型的任务,并且可以持久化任务、并以 daemon 方式运行应用。我们通过pip程序安装好apscheduler库。
安装之后我们直接运行如下程序
def job():
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 定义BlockingScheduler
sched = BlockingScheduler()
sched.add_job(job, 'interval', seconds=5)
sched.start()
运行这个实验程序我们会发现每隔5秒钟打印当前时间,最后我们只想调整seconds参数和job函数中执行的命令即可。
天气推送
菜鸟小白之前有看到过一遍博文说是用python写了一个微信提醒备忘录,里面使用的是server酱来实现微信推送,这个正好不就拿来用推送天气消息么。菜鸟小白去server酱的官网上看整个过程也很简单。
官网地址:http://sc.ftqq.com/3.version
接入流程如下:
登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
绑定:点击「微信推送」,扫码关注同时即可完成绑定
发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息啦
我们一步一步进行教学,首先我们需要使用GitHub账户登录网站,登录后如下图所示:
在发送消息页面下面可以看到自己的key值。
接下我们需要点击微信推送绑定需要接收推送信息的微信,绑定后如下图所示:
接下来我们就只需要完成发送消息的代码即可,代码很基础,我们就不进行分析了。
def send_msg(content):
title = cityname + "天气情况"
print(title)
params={
'text':title,
'desp':content
}
serverURL = "https://sc.ftqq.com/SCU48241Td01d600e292***********e9d35caaccd7e9283.send"#替换为自己的key值
response = requests.session().post(serverURL,data=params)
实现效果
最后我们看一下实现效果,因为时间原因我设置的推送时间间隔为3分钟,你们运行的时候适当拉长推送时间。
我的程序运行后,21:45收到的微信推送天气情况
等待一段时间后,21:48收到的微信推送天气通知
后续可优化空间
如果你确实是需要给你的糊涂蛋女友推送消息的话,还可以根据不同天气情况调整推送内容,让女朋友感受到你十足的关心。怎么菜鸟小白已经帮你到这里了,你还不会做的话,那菜鸟小白就没有办法了。
粉丝福利
插拔一条抽奖信息,关注菜鸟小白的公众号回复“粉丝福利”即可参与抽奖腾讯月卡一张,礼物虽轻,但也是菜鸟小白的一份心意呢~
源码获取
想要获取源码的小伙伴,老规矩。关注公众号“菜鸟小白的学习分享”回复“天气推送”即可
好了今天分享就到了,如果你也认同菜鸟小白的学习分享的话,那就给菜鸟小白一个关注、在看、点赞+赞赏吧,你们的支持,是我持续不断的动力
推荐阅读:
想做一个天气推送程序,却被和风天气API的示例代码调试得快吐了
媳妇儿让我给她找一个PDF转word免费工具,找了半天我决定给她写一个出来-
媳妇儿喜欢玩某音中的动漫特效,那我就用python做一个图片转化软件。
媳妇儿总说我桌面太乱,我一气之下用python写了个桌面文件分类器
关注微信公众号——菜鸟小白的学习分享
妈妈再也不用担心我找不到路了
一个人的学习孤单
一群人的学习幸福
通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~的更多相关文章
- SpringBoot 简易实现热搜邮件推送,妈妈再也不用担心我不了解国家大事了
1.前言 上班的时候,无聊的时候,偶尔跑去百度看下热搜,所以就萌生出这种想法,通过邮件推送的方式实现效果,首先找到百度热搜的页面 热搜,话不多说,直接开干. 2.环境准备 因为是个SpringBoot ...
- rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份
一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...
- 使用flask_socketio实现服务端向客户端定时推送
websocket连接是客户端与服务器之间永久的双向通信通道,直到某方断开连接. 双向通道意味着在连接时,服务端随时可以发送消息给客户端,反之亦然,这在一些需要即时通讯的场景比如多人聊天室非常重要. ...
- Docker 部署 _实现每日情话 定时推送(apscheduler)
由于最近工作比较忙,后续博客可能更新不及时,哈哈 前言: 由于python对于微信推送不够友好,需要扫码登录,短信接口需要RMB.我就想到了qq邮箱发送到好友,然而微信有qq邮箱提醒功能,就实现了我需 ...
- Server push(服务器推送技术)
一.服务器推送技术Server Push详解: 推送技术Server Push的基础思想是将浏览器主动查询信息改为服务器主动发送信息.服务器发送一批数据,浏览器显示这些数据,同时保证与服 ...
- WebSocket(4)---实现定时推送比特币交易信息
实现定时推送比特币交易信息 实现功能:跟虚拟币交易所一样,时时更新当前比特币的价格,最高价,最低价,买一价等等...... 提示:(1)本篇博客是在上一遍基础上搭建,上一篇博客地址:[WebSocke ...
- 后端利用Redis队列及哈希实现定时推送提醒的三个思路
周煦辰 2016年8月31日 本文介绍了一下本人在开发过程中遇到"定时推送提醒"的需求的时候所思考的三种解决方案. 明确问题 首先明确一下这个需求可能包含的几个"坑&qu ...
- Quartz-第二篇 使用quartz框架定时推送邮件
1.定时推送邮件,也就是使用定时调度框架触发我们的发邮件动作,发邮件动作,请参考我的这篇随笔.
- 通过 Github Action 实现定时推送天气预报
偶然间,看到 GitHub Actions 教程:定时发送天气邮件 - 阮一峰的网络日志 这篇文章,没错,这个正好能打发自己的折腾之心,也能通过代码给生活引入一些变化. 还是在这里简单记录一下实现过程 ...
随机推荐
- 使用Python解密仿射密码
新学期有一门密码学课,课上老师布置了一道密码学题,题目如下: 解密由仿射密码加密的密文“DBUHU SPANO SMPUS STMIU SBAKN OSMPU SS” 想解密这个密文,首先必须要知道仿 ...
- rust 生命周期2
之前定义的结构体,都是不含引用的. 如果想定义含引用的结构体,请定义生命周期注解 #[warn(unused_variables)] struct ImportantExcerpt<'a> ...
- rust 代码生成选项
Available codegen options: -C ar=val -- this option is deprecated and does nothing -C linker=val -- ...
- 一个非侵入的Go事务管理库——如何使用
在文章"清晰架构(Clean Architecture)的Go微服务: 事物管理"中,我谈到了如何在清晰架构中实现非侵入的事务管理. 它允许你把事务代码与业务逻辑代码分开,并且让你 ...
- Java Agent(上)
1.java agent是什么? --->对用户透明,不侵入用户业务代码.让java虚拟机加载agent jar 2.java agent有什么用? --->应用场景例如:调用链追踪项目, ...
- C++的新手入门答疑
基本部分: .ctrl+f5 调试不运行,会出现press anykey to continue f5 调试 .c++变c,修改Stdafx.h,将#include<stdio.h>替换为 ...
- 哈希传递攻击利用(Pass The Hash)
最近又复习了一下内网的相关知识,把以前的整理了一下发出来做个记录. 0x01 哈希传递攻击概念 有一点内网渗透经验的都应该听说过哈希传递攻击,通过找到相应账户相关的密码散列值(LM Hash,NTLM ...
- Lists.newArrayList() 和 new ArrayList()的区别?
什么是创建List字符串的最好构造方法?是Lists.newArrayList()还是new ArrayList()? 还是个人喜好? Lists和Maps是两个工具类, Lists.newArray ...
- 飞越面试官(三)--JVM
大家好!我是本公众号唯一官方指定没头屑的小便--怕屁林. JVM,全称Java Virtual Machine,作为执行Java程序的容器,几乎代理了Java内存与服务器内存的交互,可以说是程序拥 ...
- Oracle查询表空间使用率很慢
Oracle查询表空间使用率很慢 问题描述 执行查询表空间的语句,需要接近2min的时间才能执行完成. 以前也在其他客户的生产库遇到过一样的情况,当时是由于回收站的内容过多引起的. 不过这次的情况却不 ...