当前位置:   article > 正文

微信公共号消息推送给你心爱的她/他-Python3版本_微信推送怎么创建python文件

微信推送怎么创建python文件

最近某音比较火的微信公共号消息推送教学来啦~ Python3代码编写,代码极度简单

第一步:

1、打开【https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login】地址并用微信扫码登录上去

 2、找到appID和appsecret、后面要用哦!!!

 3、扫二维码关注公共号

 4、创建一个推送消息的模板、点击新增,模板格式我放下面了

 

模板如下:

{{city.DATA}
{{temperature.DATA}}
{{info.DATA}}
{{direct.DATA}}
{{power.DATA}}
{{aqi.DATA}}
{{wenzhang.DATA}}
{{lishi.DATA}}

我这里是用的天气和历史上的今天,后面介绍这两个接口如何使用的;

如果你要新增内容、直接在这边写{{变量名字.DATA}}就行;

接下来 就是调用接口的时候了、跟着华仔向下走吧~~~

第二步: 开始调用接口了

1、获取消息推送的token

  1. def Access_token(): # 获取 access_token
  2. grant_type = 'client_credential'
  3. appid = "" #地址上面的ID
  4. secret = "" # 地址上的ID
  5. url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type={grant_type}&appid={appid}&secret={secret}"
  6. resp = requests.get(url)
  7. access_token = resp.json()['access_token'] # 拿到access_token
  8. return access_token # 返回token给函数

2、获取实时天气、我这边用的是聚合数据里面免费的API接口,但是每天调用只能有30次的限制; 

 聚合数据地址:API服务_短信接口_热门API接口-聚合数据  自己注册个账户去申请一下就行;

这边就暂时不出那个教学了、接着就是把天气的API返回数据截取出来

  1. def Tianqi(): # 由于聚合数据上面的天气接口 每天有限制次数,每天只能用30次
  2. citys = "北京" # 你要查询的城市
  3. key = "你自己聚合数据天气API的key" # 天气的key
  4. tian_url = f"http://apis.juhe.cn/simpleWeather/query?city={citys}&key={key}" # 获取天气接口
  5. reason = requests.get(url=tian_url)
  6. result = reason.json()
  7. # 下面这些就是把数据取出来、后面要用
  8. city = result['result']['city']
  9. temperature = result['result']['realtime']['temperature']
  10. info = result['result']['realtime']['info']
  11. direct = result['result']['realtime']['direct']
  12. power = result['result']['realtime']['power']
  13. aqi = result['result']['realtime']['aqi']
  14. return city, temperature, info, direct, power, aqi

 3、我这边还加入了历史上的今天,由于接口返回的数据过多,我就选择了一个最近时间的事件,接口也是用的聚合数据上的历史的今天API

  1. def Lishi():
  2. key = "你自己的聚合数据上面的KEY"
  3. date = "8/24" # 日期 格式为 月/日 个人时间问题 暂时没有弄成自动获取
  4. lishi_url = f"http://v.juhe.cn/todayOnhistory/queryEvent.php?key={key}&date={date}"
  5. lishi_resp = requests.get(url=lishi_url)
  6. result1 = lishi_resp.json()['result'][-1]
  7. date = result1['date']
  8. title = result1['title']
  9. return date, title

 4、接下来 就是消息推送接口了,你需要把上面获取到的天气数据和历史上的今天数据传给微信 的消息推送接口 使用POST方式

 需要用到你在第一步 第四步骤添加的模板ID了、

  1. def Public():
  2. post_url = f"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={Access_token()}"
  3. datas = {
  4. "touser": "oKRps5hFjuGIN3gaODF6ULii1RM4", # 微信号ID
  5. "template_id": "Rr6HogiUS5eE9b4w6MMkKrmoTy5YYRjEjR54jbjVu2s", # 模板ID
  6. "data": {
  7. "date": {"value": f"{Time()}", "color": "#FF00FF"},
  8. "city":{"value": f"当前城市:{Tianqi()[0]}"},
  9. "temperature": {"value": f"今日气温:{Tianqi()[1]}℃"},
  10. "info": {"value": f"天气情况:{Tianqi()[2]}"},
  11. "direct": {"value": f"今日风向:{Tianqi()[3]}"},
  12. "power": {"value": f"风力指数:{Tianqi()[4]}"},
  13. "aqi":{"value": f"空气指数:{Tianqi()[5]}"},
  14. "describe": {"value": "\n今天是你单身狗的第N+天!!!\n", "color": "#DC143C"},
  15. "wenzhang": {"value": "\n\n我高喊着无爱者自由 却也期待这万盏灯火其中一盏是为我而亮的~\n", "color": "#FF1493"}
  16. # "lishi": {"value": f"历史上的今天:{Lishi()[0]}:'{Lishi()[1]}'", "color": "#483D8B"}
  17. }
  18. }
  19. public = requests.post(url=post_url, headers=headers, data=json.dumps(datas))
  20. print(public.json())

这些都是分段的代码,三个代码合在一起就行了、下面是完整的代码

  1. import json
  2. import requests
  3. headers = {"Content-Type": "application/json",
  4. "Connection": "keep-alive",
  5. "User-Agent": "PostmanRuntime/7.29.0"}
  6. def Access_token(): # 获取 access_token
  7. grant_type = 'client_credential'
  8. appid = "" #地址上面的ID
  9. secret = "" # 地址上的ID
  10. url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type={grant_type}&appid={appid}&secret={secret}"
  11. resp = requests.get(url)
  12. access_token = resp.json()['access_token'] # 拿到access_token
  13. return access_token
  14. def Tianqi(): # 由于聚合数据上面的天气接口 每天有限制次数,每天只能用30次
  15. citys = "北京"
  16. key = "" # 天气的key
  17. tian_url = f"http://apis.juhe.cn/simpleWeather/query?city={citys}&key={key}" # 获取天气接口
  18. reason = requests.get(url=tian_url)
  19. result = reason.json()
  20. city = result['result']['city']
  21. temperature = result['result']['realtime']['temperature']
  22. info = result['result']['realtime']['info']
  23. direct = result['result']['realtime']['direct']
  24. power = result['result']['realtime']['power']
  25. aqi = result['result']['realtime']['aqi']
  26. return city, temperature, info, direct, power, aqi
  27. def Lishi():
  28. key = ""
  29. date = "8/24" # 日期 格式为 月/日 个人时间问题 暂时没有弄成自动获取
  30. lishi_url = f"http://v.juhe.cn/todayOnhistory/queryEvent.php?key={key}&date={date}"
  31. lishi_resp = requests.get(url=lishi_url)
  32. result1 = lishi_resp.json()['result'][-1]
  33. date = result1['date']
  34. title = result1['title']
  35. return date, title
  36. def Public():
  37. post_url = f"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={Access_token()}"
  38. datas = {
  39. "touser": "", # 微信号ID
  40. "template_id": "", # 模板ID
  41. "data": {
  42. "date": {"value": f"{Time()}", "color": "#FF00FF"},
  43. "city":{"value": f"当前城市:{Tianqi()[0]}"},
  44. "temperature": {"value": f"今日气温:{Tianqi()[1]}℃"},
  45. "info": {"value": f"天气情况:{Tianqi()[2]}"},
  46. "direct": {"value": f"今日风向:{Tianqi()[3]}"},
  47. "power": {"value": f"风力指数:{Tianqi()[4]}"},
  48. "aqi":{"value": f"空气指数:{Tianqi()[5]}"},
  49. "describe": {"value": "\n今天是你单身狗的第N+天!!!\n", "color": "#DC143C"},
  50. "wenzhang": {"value": "\n\n我高喊着无爱者自由 却也期待这万盏灯火其中一盏是为我而亮的~\n", "color": "#FF1493"}
  51. # "lishi": {"value": f"历史上的今天:{Lishi()[0]}:'{Lishi()[1]}'", "color": "#483D8B"}
  52. }
  53. }
  54. public = requests.post(url=post_url, headers=headers, data=json.dumps(datas))
  55. print(public.json())
  56. Public()

下面是效果图、如果你想加入星座,找个API接口,取出来数据在放入到调用消息推送的接口参数里就行了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/70759
推荐阅读
相关标签
  

闽ICP备14008679号