用微信公众号给女朋友自定义推送天气与课表
22.9.18更新 已经更新最新版,最新版比较详细,而且分为python和JavaScript版本 请移步 22.10.16更新 我已经做出来更优秀的直接在聊天列表中推送的了! 请移步
如何优雅地获取公众号专属推送
目录
前言
我们学校自从更新了选课系统之后,就没有自动的课表推送了。同时,我也想给自己的女朋友做一个推送天气和气温的小东西,以便于她能方便地查看天气进行每天的规划。
技术选型
- 编程语言:python(3.0版本以上)
- 包管理工具:pip3
- 代码编辑器:pycharm
- 所用包:request/datetime/date
- 服务器:腾讯云轻量应用服务器
- 服务器自动化运行语言:Shell
产品逻辑
- 申请测试号:
- 记录appId及appSecret
今天是{ {date.DATA}} 城市:{ {city.DATA}} 天气:{ {weather.DATA}} 最低气温: { {min_temperature.DATA}} 最高气温: { {max_temperature.DATA}} 今天是我们恋爱的第{ {love_day.DATA}}天 距离墨墨的生日还有{ {birthday.DATA}}天 --------课表-------- 8-10 { {firstClass.DATA}} 10-12 { {secondClass.DATA}} 2-4 { {thirdClass.DATA}} 4-6 { {fourthClass.DATA}} 7-10 { {fifthClass.DATA}}
- 让你的用户扫码,得到该用户openid
- 将做好的项目放到自己的服务器上,并用设置定时任务,用Shell命令每天7.30定时执行文件。为什么要用到服务器,因为服务器是一直开机的,而我的电脑不会。
代码思路
这个代码相对来说比较简单,我只用了三个文件,分别是
-
config.py :配置文件 main.py :主要运行文件 cityinfo.py:城市信息文件(用来请求对应城市的天气)
main.py中主要为get_access_token get_weather send_message三个函数,他们的内容根据他们的名字一看就懂,分别是获取assess_token 获取天气信息 发送信息。
你如何修改我的代码
为了提高代码的复用性,拿到代码的同学只用修改config.py中的配置信息,即把我的配置改成你的配置就行。
不过需要注意的是,我的classes数组是7x5的数组,不要出现索引过界等问题。
源代码
由于代码对这篇文章来说有点多,这里只放main.py的代码。
更多代码已经上传到我的gitee仓库并已经开源
https://gitee.com/dongshengye/wxPost
以下是main.py的代码
写在最后
用一些小小的项目来支撑自己的兴趣,我个人认为还是很有必要的。即可以有实际的应用,也可以让自己更有动力,何乐而不为呢~