1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/DT4XYh若失效,可用地址
阿里云:
服务器购买地址
https://t.aliyun.com/U/DT4XYh若失效,可用地址
https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d腾讯云:
https://curl.qcloud.com/wJpWmSfU若失效,可用地址
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console华为云
https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=2019052.部署教程
3.代码如下
'''new Env('LaTeX工作室签到')cron: 2 1 * * *'''import osimport reimport sysimport requests# 测试用环境变量# os.environ['COOKIE_LATEX_TOKEN'] = ''try: # 异常捕捉from utils.notify import send # 导入消息通知模块except Exception as err: # 异常捕捉print('%s\n加载通知服务失败~' % err)# 获取环境变量def get_env():# 判断 COOKIE_LATEX_TOKEN 是否存在于环境变量if "COOKIE_LATEX_TOKEN" in os.environ:# 读取系统变量以 \n 或 && 分割变量cookie_list = re.split('\n|&&', os.environ.get('COOKIE_LATEX_TOKEN'))else:# 标准日志输出print('未添加 COOKIE_LATEX_TOKEN 变量')send('LaTeX工作室签到', '未添加 COOKIE_LATEX_TOKEN 变量')# 脚本退出sys.exit(0)return cookie_listclass LaTeX:'''LaTeX工作室签到类'''def __init__(self, token):self.token = tokenself.logintime = Noneself.money = Noneself.nickname = Noneself.score = Noneself.sign_num = Noneself.sign_text = Noneself.vip_text = Noneself.msg = Nonedef sign(self):"""签到"""url = f"https://www.latexstudio.net/api/Sign/Sign?token={self.token}"res = requests.post(url).json()self.sign_text = res['msg']def user(self):"""获取用户信息"""url = f"https://www.latexstudio.net/api/user/index?token={self.token}"res = requests.get(url).json()if res['code'] == 1:self.logintime = res['data']['logintime']self.money = res['data']['money']self.nickname = res['data']['nickname']self.score = res['data']['score']self.sign_num = res['data']['tongji']['sign_num']self.vip_text = res['data']['vip_text']else:self.msg += res['msg']def main(self):"""执行"""self.user()self.sign()if self.msg:return '❌️ 签到失败,可能是token失效了!'else:return (f'👶 {self.nickname}\n'f'⭐ 会员套餐: {self.vip_text}\n'f'⭐ 余额: {self.money}\n'f'⭐ 积分: {self.score}\n'f'⭐ 累计已签到: {self.sign_num} 天\n'f'⭐ {self.sign_text}\n'f'⭐ 上次登录: {self.logintime}\n')if __name__ == "__main__":print("----------LaTeX工作室开始尝试签到----------")msg, cookie_LaTeX_Tokens = "", get_env()i = 0while i < len(cookie_LaTeX_Tokens):log = f"第 {i + 1} 个账号开始执行任务\n"try:log += LaTeX(cookie_LaTeX_Tokens[i]).main()except Exception as e:print(f"第 {i + 1} 个账号 处理时发生错误: {str(e)}")print("继续处理下一个账号...")continuemsg += log + "\n"# print(log)i += 1try:send('LaTeX工作室签到', msg)except Exception as err:print('%s\n❌️错误,请查看运行日志!' % err)print("----------LaTeX工作室签到执行完毕----------")
解析
该脚本为LaTeX 工作室动签到脚本,主要作用:
支持多账号:从环境变量
COOKIE_LATEX_TOKEN读取多个 token(用换行或&&分隔)。对每个账号先拉取用户信息,再执行签到,最后把结果通过
utils.notify.send做消息推送。运行安排示例(注释里):
cron: 2 1 * * *(每天 01:02)。
主要方法
get_env()
从环境变量
COOKIE_LATEX_TOKEN读取所有账号 token,并按换行或&&分割为列表。若未配置该变量,发送提醒并退出。
class LaTeX
负责单个账号的具体操作与数据存放。
属性:保存 token、昵称、余额、积分、累计签到天数、会员信息、最后登录时间、签到返回文案等。
user(self)(获取用户信息)GET
https://www.latexstudio.net/api/user/index?token=...成功(
code == 1)时写入:nickname、money、score、tongji.sign_num、vip_text、logintime。失败则将后端返回
msg记录到self.msg(用于后续失败提示)。sign(self)(执行签到)POST
https://www.latexstudio.net/api/Sign/Sign?token=...读取返回
msg作为签到结果文案sign_text(如"签到成功/已签到"等)。main(self)(单账号主流程)先调用
user()再sign();若
self.msg非空,返回"❌️ 签到失败,可能是 token 失效";否则拼接并返回该账号的结果概览(昵称、会员、余额、积分、累计签到、签到提示、上次登录)。
脚本入口(if __name__ == "__main__":)
打印开始标记;调用
get_env()得到所有 token;逐个账号:
构造
LaTeX(token),调用其main()获取结果;捕获异常(单账号异常不影响后续账号);累计日志。
结束后调用
send('LaTeX工作室签到', msg)推送汇总结果;打印结束标记。
要点:
多账号并串行执行;
失败多为 token 失效(
user()失败即提示);需要在运行环境预置
utils.notify.send通知模块与COOKIE_LATEX_TOKEN。
注意:
本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。
没有评论:
发表评论