智能摘要 AI
本文介绍了如何利用腾讯云函数和API实现定时推送微博热搜到微信的功能。作者首先通过天行数据平台申请微博热搜API,并获取对应的key值;接着关注“PushPlus”公众号以获取推送所需的token值。随后,在腾讯云函数控制台上创建并配置Python3.6环境的自定义函数,替换示例代码中的API key和token值,并部署函数。通过设置定时触发器(每两小时一次),确保推送稳定且避免重复推送。最终,用户可以在微信中定时接收微博热搜信息。
前天看了一个帖子,是利用腾讯云函数推送微博热搜的,心血来潮,然后也写了一个 。我的思路的通过api获取热搜数据,再通过api推送到微信平台,要是从微博抓取就太麻烦了,又要准备cookies又得写老长的代码,还是api简单省事。
先做一些准备,申请一些api什么的,如果都ok了可以直接到下文看代码。
准备工作
首先是申请一个微博热搜的api,可以在这里申请 申请链接,注册账号后,在控制台验证邮箱
然后点击申请链接,申请接口,申请完成后,点击在线调试,然后保存好key值。
申请腾讯API
接下来就是申请推送的api,微信关注公众号pushplus 推送加,关注后会发送一个token值,也记好,等一下要用到
然后就是注册一个腾讯云账号,然后前往腾讯云函数控制台 控制台链接,创建一个自定义的腾讯云函数,运行环境是python3.6
等部署完成后跳转,点击函数代码
添加代码
把里面的代码替换成下面的
# -*- coding: utf8 -*-
import json
import requests
def main_handler(event, context):
url = "http://api.tianapi.com/txapi/weibohot/index?key=key值"
raw = requests.get(url)
data=json.loads(raw.text)
newlist=data.get('newslist')
push_url="http://www.pushplus.plus/send?token=token值&title=微博热搜&content="
dict_1={}
if data['code']==140:
return("error-140")
for i in range(1,11):
if i==11:
exit()
if len(str(newlist[i]['hottag']))==0:
dict_1[i]=newlist[i]['hotword']+"--"+"热搜指数:"+newlist[i]['hotwordnum']
else:
dict_1[i]=newlist[i]['hotword']+"--"+"热搜指数:"+newlist[i]['hotwordnum']+"--"+newlist[i]['hottag']
push_json=json.dumps(dict_1)
push_url=push_url+push_json+"&template=json"
return_data=requests.get(push_url)
return_data=json.loads(return_data.text)
success_msg=str(return_data['msg'])+str(return_data['data'])
return(success_msg)
然后把代码里的key值和token值替换成上文申请到的热搜key值,和关注公众号得到的token值,点击部署,然后测试。
最后,在云函数的触发管理,创建一个触发器,触发周期选择自定义,然后填写0 0 */2 * * * *即可大功告成。
测试一下微信就能收到推送了,我这里是设置的两个小时推送一次。为了防止推送两次,这里需要在云函数的函数配置页面修改执行超时时间为6秒,重试次数修改为0。



评论 (0)