1316 字
7 分钟
使用Github Action 定时签到科研通
🤖AI 摘要
AI
科研通自动签到:GitHub Actions 每日定时签到
这是一个用于科研通(AbleSci)网站的自动签到脚本,支持青龙面板和GitHub Actions双平台运行。每日自动签到,可配置多个账号,签到结果通过多种渠道推送通知。
Waiting for api.github.com...
✨ 核心功能
- 🔑 自动登录科研通网站
- 📅 每日自动签到获取积分(默认 7:40、21:40 执行)
- 👥 支持多账号批量签到
- 📊 显示用户信息(用户名、积分、连续签到天数)
- 🔔 支持多平台消息通知(Server酱、息知、PushPlus等)
- ⚙️ 支持青龙面板和 GitHub Actions 双平台
🚀 快速上手
- 准备账号:科研通账号(邮箱:密码),多个账号用换行分隔。
- 选择部署平台:
- 青龙面板:添加仓库、配置环境变量。
- GitHub Actions:Fork 仓库、添加 Secrets、启用工作流。
- 配置通知(可选):获取推送服务的密钥并添加到环境变量。
- 等待定时触发或手动运行测试。
详细步骤请参考下方部署指南。
📖 部署指南
🐉 1. 青龙面板部署
1.1 添加订阅
- 登录青龙面板,进入 订阅管理。
- 点击 新建订阅,填写以下信息:
- 名称:
科研通签到 - 类型:
公开仓库 - 链接:
https://github.com/daitcl/ablesciSign.git - 定时规则:
40 7,21 * * *(对应北京时间 7:40 和 21:40) - 白名单:
ablesci.py|sendNotify.py
- 名称:
- 点击 确定 保存,并运行一次订阅拉取脚本。
1.2 配置环境变量
进入 环境变量 页面,点击 新建变量,添加以下变量:
| 变量名 | 必填 | 说明 |
|---|---|---|
ABLESCI_ACCOUNTS | ✅ | 科研通账号列表,格式:邮箱1:密码1(多个账号用换行或分号分隔) |
SCKEY | ❌ | Server酱 SCKEY(用于通知) |
XZKEY | ❌ | 息知 XZKEY(用于通知) |
PUSH_PLUS_TOKEN | ❌ | PushPlus Token(用于通知) |
账号格式示例:
user1@example.com:password1user2@example.com:password21.3 安装 Python 依赖
在青龙面板的 依赖管理 中添加以下 Python 依赖:
requestsbeautifulsoup4
🤖 2. GitHub Actions 部署
2.1 Fork 仓库
- 访问项目主页:daitcl/ablesciSign
- 点击右上角 Fork 按钮,将仓库复制到您的 GitHub 账户。
2.2 设置 Secrets
- 在您的仓库页面,点击 Settings → Secrets and variables → Actions。
- 点击 New repository secret,依次添加以下 Secrets:
| Name | 必填 | Value |
|---|---|---|
ABLESCI_ACCOUNTS | ✅ | 科研通账号列表(格式同青龙面板) |
SCKEY | ❌ | Server酱 SCKEY |
XZKEY | ❌ | 息知 XZKEY |
PUSH_PLUS_TOKEN | ❌ | PushPlus Token |
注意:为避免 GitHub Actions 报错,未使用的通知变量可留空或不添加,但若添加则值必须有效。
2.3 激活工作流
- 点击仓库上方的 Actions 选项卡。
- 在左侧选择 AbleSci Auto Sign 工作流。
- 点击 Enable workflow 启用。
工作流将按照 .github/workflows/ablesciSign.yml 中定义的 cron 定时执行(默认北京时间 7:40 和 21:40)。
▶️ 3. 手动触发测试
3.1 青龙面板手动运行
- 在 定时任务 列表中找到
科研通签到任务,点击右侧的 运行 按钮。
3.2 GitHub Actions 手动触发
- 在 Actions 页面选择 AbleSci Auto Sign 工作流,点击 Run workflow → Run workflow 手动触发一次。
🔔 通知推送设置
📡 支持的推送平台
脚本支持以下推送服务,可同时配置多个(至少一个有效即可):
- Server酱(
SCKEY) - 息知(
XZKEY) - PushPlus(
PUSH_PLUS_TOKEN)
若同时配置多个,脚本会依次尝试发送,任一成功即视为通知成功。
🔑 获取推送密钥
Server酱(SCKEY)
息知(XZKEY)
PushPlus(PUSH_PLUS_TOKEN)
- 访问 PushPlus官网,微信扫码登录。
- 进入 一对一推送页面,复制页面中的 Token 值。
- 添加到环境变量
PUSH_PLUS_TOKEN。
⏰ 定时规则详解
脚本默认执行时间(基于 UTC 时间):
- 23:40 UTC → 对应 次日北京时间 7:40
- 13:40 UTC → 对应 北京时间 21:40
如需修改执行时间:
- 青龙面板:修改订阅的定时规则或任务的 cron 表达式。
- GitHub Actions:编辑仓库中的
.github/workflows/ablesciSign.yml文件,修改on.schedule.cron字段。
❓ 常见问题解答
Q1: 为什么签到失败?
- 检查账号密码是否正确,注意邮箱和密码中不要包含空格。
- 确保网络能正常访问科研通网站。
- 查看运行日志,确认是否是网站改版导致脚本失效,如果是请提交 Issue。
Q2: 如何接收通知?
- 在对应平台的环境变量/Secrets 中配置至少一种通知服务的密钥。
- 脚本执行完成后会自动推送签到结果。
Q3: 可以配置多个账号吗?
是的,脚本支持多账号。只需在 ABLESCI_ACCOUNTS 中用换行分隔多个 邮箱:密码 即可。脚本会依次处理,并汇总通知。
Q4: 如何查看签到日志?
- 青龙面板:在任务日志中查看。
- GitHub Actions:在 Actions 页面点击对应工作流运行记录,查看详细日志。
Q5: 需要安装额外的依赖吗?
青龙面板需要手动安装 requests 和 beautifulsoup4。GitHub Actions 环境已自动安装,无需额外操作。
📬 反馈与帮助
- 项目 Issues:如有问题或建议,欢迎在 GitHub Issues 提出。
使用Github Action 定时签到科研通
https://www.daitcc.top/posts/科研通自动签到github-actions-每日定时签到/ 如果这篇文章对你有帮助或启发,可以请作者喝杯咖啡 ☕️