说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
企业微信开放了机器人,支持文本、图片、Markdown 等格式,通过接口可以让系统自动发送通知。一般应用于事务、运营指标、运维数据等需要提醒的场景。注意,下例代码中的 key 由在企业微信群组中创建的机器人资源页中提供的网址中获取。
今天我们就来用 requests 库来实现一下,下边的 key 参数从机器人的信息卡中取得,print 语句也用打日志来代替:
import requests
import json
def robot(key, data):
# 企业微信机器人的 webhook
# 开发文档 https://work.weixin.qq.com/api/doc#90000/90136/91770
webhook = f"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={key}"
headers = {'content-type': 'application/json'} # 请求头
r = requests.post(webhook, headers=headers, data=json.dumps(data))
r.encoding = 'utf-8'
# print(f'执行内容:{data}, 参数:{r.text}')
# print(f'webhook 发送结果:{r.text}')
return r.text
def bot_push(key, data):
try:
res = robot(key, data)
# print(res) # 打印请求结果
print(f'webhook 发出完毕: {res}')
return res
except Exception as e:
print(e)
def bot_push_text(key, msg):
# 发送文本
webhook_data = {
"msgtype": "text",
"text": {
"content": msg
}
}
# 企业微信机器人发送
bot_push(key, webhook_data)
return None
def bot_push_image(key, data64, md5):
# 发送图片
webhook_data = {
"msgtype": "image",
"image": {
"base64": data64,
"md5": md5
}
}
# 企业微信机器人发送
bot_push(key, webhook_data)
return None
发送文本:
bot_push_text('your_key', '起床了')
发送图片(data64:图片内容的base64编码,md5:图片内容(base64编码前)的md5值):
bot_push_image('your_key', 'data64', 'md5')
如果想自己构造数据可以使用:
bot_push(key, data)
(完)
更新时间:2021-11-29 10:16:58 标签:python 消息 爬虫