<Python启发式自动化>之微信推送

Server酱

对于类如音讯推送或机器人治理方面微信凋谢文档并没有给出简略易用的 API 接口, 这里应用的是 Server酱 服务推送告诉。

Server酱

你只须要注册/登陆 Server酱 平台并扫码绑定微信公众号,对,Server酱实质是一个公众号,一个能够为你推送告诉信息的公众号。

胜利绑定后返回一个 SCKEY,相当于一个认证 KEY,用他们的话说,SCKEY 是十分重要的,所以请妥善保留,不要轻易通知他人。另外同样内容的音讯一分钟只能发送一次,服务器只保留一周的音讯记录。

具体接口如下:

https://sc.ftqq.com/[SCKEY].send

它承受两个参数:

  • text:音讯题目,最长为256,必填。
  • desp:音讯内容,最长64Kb,可空,反对MarkDown
PS: 此接口同时反对 GETPOST 申请。尽管我感觉并不合理,但它还是这么做了

所以你甚至没有必要编写代码,在浏览器地址栏键入API并传入必要参数也能发送告诉,比方
https://sc.ftqq.com/[SCKEY].send?text=来自 PI 的问候

不出所料,很快就收到了一条来自 PI 哥的问候

Python 实现

# -*- coding: utf-8 -*# @Time : 2020/10/30 9:48import requests# 是否开启微信告诉notice_enable = True# server酱keysckey = "SCU1218....1e9fac5f9b79369b576"# 信息主体desp = ''' **杭州天气** \n> 900度,西北风1级,空气良8009,绝对温度673%\n> [![hello](https://images.pexels.com/photos/3369569/pexels-photo-3369569.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260)](https://www.dingtalk.com)\n> ###### 10点20分公布 [天气](https://www.dingtalk.com) \n'''message = {    "subject": "来自 PI 的问候",    "content": desp}class SendMsg(object):    def send(self, message):        if not notice_enable:            print("未开启微信告诉")            return        url = f"https://sc.ftqq.com/{sckey}.send"        r = requests.post(url, data={"text": f'{message["subject"]}', "desp": message["content"]})        if r.status_code == requests.codes.ok:            print("微信告诉发送胜利")        else:            print("微信告诉发送失败")S = SendMsg()S.send(message)
与浏览器地址栏相同,咱们提交了一个 POST 申请,并且应用了Markdown 语法,大大加强了可读性。