软件功能

本脚本是一个自动化签到工具,可用于定时访问指定网站并执行签到操作,支持以下功能:

  1. 定时自动执行签到任务(可自定义签到时间)

  2. 支持从文件加载和管理 Cookie

  3. 签到失败时自动重试(可配置重试次数和间隔)

  4. 签到结果通过邮件通知(支持 SSL 加密邮件服务器)

  5. 详细的日志记录,便于排查问题

  6. 自动处理返回结果中的 Unicode 编码,确保中文正确显示

  7. 理论上,通过修改base_url和checkin_url,所有支持post请求的签到地址都可以用。

软件下载地址

点击链接,下载python脚本

环境要求

1. Python 3.6 或更高版本

2. 以下 Python 库:

requests:用于发送 HTTP 请求

schedule:用于定时任务调度

3.文件夹里应有以下文件

auto-checkin/

├── auto_checkin.py # 主脚本文件

├── config.json # 配置文件

├── cookies.json # 存储cookie的文件

└── checkin.log # 日志文件,运行后自动生产

安装步骤

安装 Python

如果尚未安装 Python,请从官方网站下载并安装 Python 3.6+。

安装依赖库

打开命令行工具,执行以下命令安装所需库:

pip install requests schedule

配置说明

修改config.json(推荐)

打开config.json文件,修改其中的配置

{
    "base_url": "https://改为豆奶url/user",  #基础url
    "checkin_url": "https://改为豆奶url/user/checkin",  #签到url
    "cookie_file": "cookies.json",  #登录信息保存文件名
    "retry_times": 3,  #签到重试次数
    "retry_delay": 5,  #签到重试间隔时间
    "checkin_time": "09:13",  #每日签到定时

    'enable_email_notification': True,  # 启用邮件通知(设为False可禁用)
    'smtp_server': 'smtp.example.com',  # SMTP服务器(如QQ邮箱为smtp.qq.com)
    'smtp_port': 465,  # SMTP端口(SSL加密通常使用465或587)
    'smtp_username': 'your_email@example.com',  # 发件人邮箱
    'smtp_password': 'your_password',  # 发件人邮箱密码/授权码
    'email_from': 'your_email@example.com',  # 发件人邮箱(通常与smtp_username相同)
    'email_to': ['your_email@example.com'],  # 收件人邮箱列表(可添加多个)
    "smtp_encryption": "ssl"   # 使用的协议,可选ssl、starttsl
}

基础配置修改(不推荐)

打开auto_checkin.py文件,找到CONFIG字典,根据实际情况修改参数(与上边的方法类似)

系统会优先读取config.json中的配置文件,如果未找到配置文件,或者配置文件格式错误,会使用auto_checkin.py中的CONFIG配置

使用方法

使用chromium内核浏览器安装cookie-Editor软件。

下载地址:

https://microsoftedge.microsoft.com/addons/detail/neaplmfkghagebokkhpjpoebhdledlfi

使用账号登录到目标网站

https://改为豆奶url/user/panel

使用cookie-Editor导出cookie为json格式,打开记事本,粘贴进去,并保存为cookies.json

2. 启动脚本

在命令行中进入脚本所在目录,执行:

python auto_checkin.py

3. 后台运行(可选)

在 Linux/Mac 系统中,可使用nohup命令让脚本在后台运行:

nohup python auto_checkin.py &

运行后,脚本会立即执行一次签到(用于测试),并在每天指定时间自动执行签到任务。

4.日志查看

脚本会在同目录生成checkin.log日志文件,记录所有操作和异常,可通过以下命令查看实时日志:

tail -f checkin.log

注意事项

Cookie 有效期

Cookie 有有效期,过期后需重新获取并更新cookies.json文件。

邮件通知配置

部分邮箱(如 QQ 邮箱)需要使用 "授权码" 而非密码登录 SMTP 服务器

若邮件发送失败,可检查 SMTP 服务器地址、端口、用户名和密码是否正确

QQ邮箱可能会出现邮件已经发送成功但报错的情况,只要能成功收到邮件,无视即可。

签到接口变化

若网站更新了签到接口,需及时修改checkin_url和请求头headers。

反爬机制

请合理设置重试间隔,避免频繁请求触发网站反爬机制。

脚本停止

在命令行中按Ctrl+C可终止脚本运行。