【Python+腾讯云函数】每周一推送王者战力信息
本帖最后由 suyaming 于 2021-9-30 10:13 编辑### 前言
之前用易语言写了个查询王者战力的软件,今天突发奇想,看能不能每周自动推送,正好最近在学习Python,就用Python加腾讯云函数来实现。
### 代码部分
代码部分没什么复杂的,简单的网络请求加json解析。代码贴在下面,用的是sever酱的微信推送,其实可以自己做一个微信推送,也不难,但是为了大家能直接用,直接用sever酱吧。
```
# -*- coding: utf8 -*-
import requests
from urllib.parse import quote
import jsonpath
def infor_get(event,context):
hero_name = ['孙悟空', '李白', '安琪拉', '干将莫邪']# 可以自己添加英雄
platforms = ['qq', 'wx']# 可选
for n in hero_name:
result = ''
for i in range(0, len(platforms)):
url = 'https://www.sapi.run/hero/select.php?hero=' + quote(n) + '&type=' + platforms
re = requests.get(url=url)
name = jsonpath.jsonpath(re.json(), '$..alias')
area = jsonpath.jsonpath(re.json(), '$..area')
areapower = jsonpath.jsonpath(re.json(), '$..areaPower')
city = jsonpath.jsonpath(re.json(), '$..city')
citypower = jsonpath.jsonpath(re.json(), '$..cityPower')
province = jsonpath.jsonpath(re.json(), '$..province')
provincepower = jsonpath.jsonpath(re.json(), '$..provincePower')
updatetime = jsonpath.jsonpath(re.json(), '$..updatetime')
platform = jsonpath.jsonpath(re.json(), '$..platform')
result = result + '====' + platform + ' ' + name + '====' + '\n' + area + ':' + areapower + '\n' + city + ':' + citypower + '\n' + province + ':' + provincepower + '\n' + updatetime + '\n'
wx_key = ''# Sever酱推送Key
wx_url = 'https://sctapi.ftqq.com/' + wx_key + '.send?title=' + '本周战力查询结果' + '&desp=' + quote(result)
wx_ts = requests.post(url=wx_url)
if wx_ts.status_code == 200:
print('推送成功')
else:
print('失败')
```
### 腾讯云函数部署部分
首先大家自己申请个账号,这个没啥好说的。然后进入云函数控制台。
选择新建一个云函数,进入到下图界面,选择自定义函数
然后如图部分改为
```
index.infor_get
```
然后把代码粘贴到下面那个代码框
记住在代码里要更改你需要推送的英雄,和渠道,默认安卓区QQ和安卓区微信,剩下两个是苹果QQ和苹果微信,还有Sever酱的key。改好以后。开始更改触发器配置,任务名称随意,其他的和我下图一样
代码
```
0 0 12 * * MON *
```
然后点击完成,部署完成后,会自动跳转到管理页面选择函数代码
你会发现import jsonpath是红的,因为云函数默认没有jsonpath这个依赖,下面我们给添加上。
点击终端->新终端
然后输入
```
cd src
pip install jsonpath -t .
```
回车,完成后点击部署。然后刷新,没报红了,依赖安装完毕。然后点击测试,如果提示没部署就立即部署就行,然后看看输出
看到推送成功,基本就ok了。我们再看看微信。
成功收到消息。教程完毕,以后我们每周一中午12点都会收到最新的最低战力推送。
### 最后
虽然没啥难度,但是还是不要脸的求个免费的评分。直接复制代码可能会报错,我把源文件放在下面。
kof8855 发表于 2021-9-30 09:09
腾讯这个云函数是免费还是收费??能24小时挂着?
免费的,挂着就行,流量消耗很少,免费的完全够你用了 邪帝 发表于 2021-9-30 12:20
大佬,能改下一次性发送查询的英雄吗,有时候多了,server酱到限制了
可以,我马上改 谢谢分享腾讯的云函数的使用方法。 阿sir, 牛
这个是对接官方的接口做的吗? 腾讯这个云函数是免费还是收费??能24小时挂着? 感谢分享 csw曾哥 发表于 2021-9-30 09:05
这个是对接官方的接口做的吗?
不是,是一个人工采录的接口 大佬,能改下一次性发送查询的英雄吗,有时候多了,server酱到限制了