suyaming 发表于 2021-9-30 02:18

【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点都会收到最新的最低战力推送。
### 最后
虽然没啥难度,但是还是不要脸的求个免费的评分。直接复制代码可能会报错,我把源文件放在下面。

suyaming 发表于 2021-9-30 10:11

kof8855 发表于 2021-9-30 09:09
腾讯这个云函数是免费还是收费??能24小时挂着?

免费的,挂着就行,流量消耗很少,免费的完全够你用了

suyaming 发表于 2021-9-30 13:50

邪帝 发表于 2021-9-30 12:20
大佬,能改下一次性发送查询的英雄吗,有时候多了,server酱到限制了

可以,我马上改

templs 发表于 2021-9-30 08:55

谢谢分享腾讯的云函数的使用方法。

jingmoshell 发表于 2021-9-30 09:02

阿sir, 牛

csw曾哥 发表于 2021-9-30 09:05

这个是对接官方的接口做的吗?

kof8855 发表于 2021-9-30 09:09

腾讯这个云函数是免费还是收费??能24小时挂着?

王星星 发表于 2021-9-30 09:21

夏驰 发表于 2021-9-30 10:00

感谢分享

suyaming 发表于 2021-9-30 10:12

csw曾哥 发表于 2021-9-30 09:05
这个是对接官方的接口做的吗?

不是,是一个人工采录的接口

邪帝 发表于 2021-9-30 12:20

大佬,能改下一次性发送查询的英雄吗,有时候多了,server酱到限制了
页: [1] 2 3
查看完整版本: 【Python+腾讯云函数】每周一推送王者战力信息