用微信公众号给女朋友自定义推送天气与课表

22.9.18更新 已经更新最新版,最新版比较详细,而且分为python和JavaScript版本 请移步 22.10.16更新 我已经做出来更优秀的直接在聊天列表中推送的了! 请移步

如何优雅地获取公众号专属推送

目录

前言

我们学校自从更新了选课系统之后,就没有自动的课表推送了。同时,我也想给自己的女朋友做一个推送天气和气温的小东西,以便于她能方便地查看天气进行每天的规划。

技术选型

  1. 编程语言:python(3.0版本以上)
  2. 包管理工具:pip3
  3. 代码编辑器:pycharm
  4. 所用包:request/datetime/date
  5. 服务器:腾讯云轻量应用服务器
  6. 服务器自动化运行语言:Shell

产品逻辑

  1. 申请测试号:
  2. 记录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}}
  1. 让你的用户扫码,得到该用户openid
  2. 将做好的项目放到自己的服务器上,并用设置定时任务,用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的代码

写在最后

用一些小小的项目来支撑自己的兴趣,我个人认为还是很有必要的。即可以有实际的应用,也可以让自己更有动力,何乐而不为呢~

经验分享 程序员 微信小程序 职场和发展