前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~

通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~

作者头像
菜鸟小白的学习分享
发布2020-07-14 17:51:06
1.2K0
发布2020-07-14 17:51:06
举报

昨天菜鸟小白给大家留了一个课后作业,如何实现天气的定时推送。有没有小伙伴做出来答案呢?今天菜鸟小白给大家分享我的实现方式吧。这个是我今天整的程序流程图,昨天我们还只是实现了中间的通过和风天气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

接入流程如下:

  1. 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
  2. 绑定:点击「微信推送」,扫码关注同时即可完成绑定
  3. 发消息:往 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的天气推送

后续可优化空间

如果你确实是需要给你的糊涂蛋女友推送消息的话,还可以根据不同天气情况调整推送内容,让女朋友感受到你十足的关心。怎么菜鸟小白已经帮你到这里了,你还不会做的话,那菜鸟小白就没有办法了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜鸟小白的学习分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档