之前发过一个企业微信群机器人接口调用发提醒的文章,是用最简单的VBS脚本+Windows任务计划来实现的,仅实现了定时发送固定内容的提醒。其实企业微信机器人就是一个webhook接口,用户以post data向这个Webhook地址发起HTTP POST 请求,即可实现给该群组发送消息了。
最近在使用python这个万能的胶水语言实现一些办公自动化的操作,顺便用python简单实现了一下定时读取数据库信息,然后通过机器人接口推送到群的小脚本。
提取数据的步骤是:
1、连接数据库(我用的是mssql)
2、查询需要的数据表信息
3、将数据集编码成为符合POST数据要求的字符串
4、调用webhook接口提交完成
这个脚本完成后,可以用两种方式实现定时任务。如果用的是windows操作系统,最方便可靠的就还是用任务计划。或者用python本身解决,方式有很多,比如:1.循环+sleep;2.线程模块中Timer类;
3.schedule模块;4.定时框架:APScheduler等等。
本着实用主义精神,我还是直接用任务计划了。
从数据库提取数据的脚本如下:
# encoding: utf-8
# 上面一行注释是为了防止中文字符乱码
import pymssql # 引入数据库操作组件
import requests # 引入http请求组件
# 发送消息函数
def postmsg(url, post_data):
# post_data的格式要按照企业微信机器人配置说明里的的要求来,这次用的是markdown格式
post_data = '{"msgtype"