想要实现 B 站自动签到打卡,但是不想为闲置资源付费?
Serverless 让你不必买服务器,本地电脑也不用装 Python PHP 这些环境,全云端托管运行!
本文基于 @happy888888/BiliExp 的代码,用 Github Actions 或 CLI 自动部署到腾讯云云函数上。
前提
- 开通云函数 SCF 的腾讯云账号,在访问秘钥页面获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY
注意!为了确保权限足够,获取这两个参数时不要使用子账户!需要提前开启云函数服务。此外,腾讯云账户需要实名认证。
- 一个或多个B站账号,以及登录后获取的SESSDATA,bili_jct,DedeUserID (获取方式参考下图)
获取 cookieDatas(以 Chrome 为例):登录 B 站 -> 右键点击「检查」-> application -> cookies
- SCKEY (可选,用于账号失效时用微信提醒,不用请留空,详情见http://sc.ftqq.com/)
部署方案一:利用 Github Actions
- fork Github 项目 https://github.com/happy888888/BiliExp
- 在fork后的github仓库的 “Settings” –》“Secrets” 中添加”Secrets”,name和value分别为:
- name为”TENCENT_SECRET_ID” value为腾讯云用户SecretID(需要主账户,子账户可能没权限)
- name为”TENCENT_SECRET_KEY” value为腾讯云账户SecretKey
- name为”biliconfig” value为B站账号登录信息,格式参照config/config.json文件
环境变量添加完毕后如下图:
- 添加完上面 3 个”Secrets”后,进入”Actions” –》”deploy for tencentyun”,点击右边的”Run workflow”即可部署至腾讯云函数(如果出错请在红叉右边点击”deploy for tencentyun”查看部署任务的输出信息找出错误原因)。部署完成后的流程如下所示:
注: 首次fork可能要去actions里面同意使用actions条款,如果”Actions”里面没有”deploy for tencentyun”,点一下右上角的”star”,”deploy for tencentyun”就会出现在”Actions”里面
部署方案二:本地 CLI 部署
- 安装命令行工具 Serverless Framework
- 下载项目模版代码,并进入模版目录 biliexp-demo
- 打开
config/config.json
文档,根据说明填入对应内容,cookieDatas 由浏览器获取,email 处填入用于接受通知的邮件名
- 通过下列命令完成部署 (如果看部署详情可以加 –debug),部署成功后,每日可自动触发,完成一系列操作
测试验证
部署到云函数的好处是,代码可控,便于修改和排查。
验证方式也很简单,进入到腾讯云云函数控制台,可以看到成功部署的函数,点击”测试“可以看到函数调用成功,并输出相应的日志。
原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/4137.html