Serverless 实现 B 站打卡签到等(腾讯云函数部署教程)

想要实现 B 站自动签到打卡,但是不想为闲置资源付费?

Serverless 让你不必买服务器,本地电脑也不用装 Python PHP 这些环境,全云端托管运行!

本文基于 @happy888888/BiliExp 的代码,用 Github Actions 或 CLI 自动部署到腾讯云云函数上。

前提

  1. 开通云函数 SCF 的腾讯云账号,在访问秘钥页面获取账号的 TENCENT_SECRET_ID,TENCENT_SECRET_KEY

    注意!为了确保权限足够,获取这两个参数时不要使用子账户!需要提前开启云函数服务。此外,腾讯云账户需要实名认证

  2. 一个或多个B站账号,以及登录后获取的SESSDATA,bili_jct,DedeUserID (获取方式参考下图)

获取 cookieDatas(以 Chrome 为例):登录 B 站 -> 右键点击「检查」-> application -> cookies

  1. SCKEY (可选,用于账号失效时用微信提醒,不用请留空,详情见http://sc.ftqq.com/)

部署方案一:利用 Github Actions

  1. fork Github 项目 https://github.com/happy888888/BiliExp
  2. 在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文件

 

环境变量添加完毕后如下图:

  1. 添加完上面 3 个”Secrets”后,进入”Actions” –》”deploy for tencentyun”,点击右边的”Run workflow”即可部署至腾讯云函数(如果出错请在红叉右边点击”deploy for tencentyun”查看部署任务的输出信息找出错误原因)。部署完成后的流程如下所示:

注: 首次fork可能要去actions里面同意使用actions条款,如果”Actions”里面没有”deploy for tencentyun”,点一下右上角的”star”,”deploy for tencentyun”就会出现在”Actions”里面

部署方案二:本地 CLI 部署

  1. 安装命令行工具 Serverless Framework
    npm install -g serverless
    

     

  2. 下载项目模版代码,并进入模版目录 biliexp-demo
    sls create --template-url https://github.com/happy888888/BiliExp.git
    cd BiliExp
    

     

  3. 打开 config/config.json 文档,根据说明填入对应内容,cookieDatas 由浏览器获取,email 处填入用于接受通知的邮件名
    {
         "cookieDatas":[
    		{
    			"SESSDATA": "",
    			"bili_jct": "",
    			"DedeUserID": ""
    		}
    	],
    	"email": "",
    	"SCKEY": "",
    	"说明":"cookieDatas由浏览器获取,获取详情见首页说明;email用于邮件消息推送,SCKEY用于微信消息推送,详情见http://sc.ftqq.com/,这两项不用请留空"
    }
    

     

  4. 通过下列命令完成部署 (如果看部署详情可以加 –debug),部署成功后,每日可自动触发,完成一系列操作
    sls deploy
    

     

测试验证

部署到云函数的好处是,代码可控,便于修改和排查。

验证方式也很简单,进入到腾讯云云函数控制台,可以看到成功部署的函数,点击”测试“可以看到函数调用成功,并输出相应的日志。

 

生成海报

陌涛

这个博主很懒,懒死了。

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

微信扫一扫,分享到朋友圈

Serverless 实现 B 站打卡签到等(腾讯云函数部署教程)