教你如何将巴黎奥运会奖牌榜推送到企业微信群~
1.抓包,取数据。(这里用了百度体育的api接口,获取奖牌榜数据。)
2.分析json数据结构,然后解析数据。
3.写程序。(直接上代码,用python写的)
import requests
import json
url = 'https://tiyu.baidu.com/go/major/api/header?page=homeV2&match=2024%E5%B9%B4%E5%B7%B4%E9%BB%8E%E5%A5%A5%E8%BF%90%E4%BC%9A&tab=%E5%A5%96%E7%89%8C%E6%A6%9C'
response = requests.get(url)
# 检查HTTP状态码
if response.status_code != 200:
print(f"HTTP错误: {response.status_code}")
print(response.text)
exit()
data = json.loads(response.text)
count = 0
ls_msg_all = ""
medal_list = data['data']['tabsList'][1]['data']['medalList'][0]
subTitle = data['data']['tabsList'][1]['subTitle']
print(subTitle)
webhook_url = '填写企业微信机器人webhook地址'
for medal in medal_list:
if count >= 10: #只推送前10
break
country_name = medal["countryName"]
gold = int(medal["gold"])
silver = int(medal["silver"])
bronze = int(medal["bronze"])
total = int(medal["total"])
rank = int(medal["rank"])
count += 1
ls_msg = f"{rank}、{country_name}, 金牌: {gold}, 银牌: {silver}, 铜牌: {bronze}, 总奖牌数: {total}"
ls_msg_all = ls_msg_all + '\n' + ls_msg
print(ls_msg_all)
if count > 9:
webhook_data = {
"msgtype": "markdown",
"markdown": {
"content": "# **巴黎奥运会(7.26-8.11)奖牌榜**" + "\n" + ls_msg_all +
"\n更新时间:" + subTitle +
"\n👉👉[奖牌详情](https://tiyu.baidu.com/al/major/home?match=2024%E5%B9%B4%E5%B7%B4%E9%BB%8E%E5%A5%A5%E8%BF%90%E4%BC%9A&tab=%E5%A5%96%E7%89%8C%E6%A6%9C)"
}
}
response = requests.post(webhook_url, json=webhook_data, headers={"Content-Type": "application/json"})
print(response.text)
代码解释:先用requests获取百度体育的奥运奖牌榜的数据,然后把遍历出来的数据拼凑成一个总的数据,再通过一个request请求,向企业微信群推送消息。因为获奖国家比较多,所以限制了只推送前10的国家,可以自行修改。
有兴趣的朋友可以尝试下哦。
如需每天定时推送,可以用华为云的云函数,给它设置一个定时触发器。
最后,看下效果。
微信扫描下方的二维码阅读本文
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途,请遵循相关法律法规,如有侵权、后门、不妥、提供材料联系本站1424898602@qq.com删除,敬请谅解!
THE END
二维码
共有 0 条评论