| [i=s] 本帖最后由 kggzs 于 2025-3-13 15:30 编辑 [/i]<br />
<br /> 最新版自动签到脚本
项目地址:https://github.com/kggzs/FN_AQ 功能特点 自动登录FN论坛账号
检测当前签到状态
自动执行签到操作
获取并记录签到信息(最近签到时间、本月签到天数、连续签到天数等)
保存Cookie到本地,下次运行时优先使用Cookie登录
验证码自动识别功能,使用百度OCR API识别验证码
详细的日志记录
完善的错误处理和重试机制
 依赖安装 脚本依赖以下Python库: pip install requests beautifulsoup4
 使用方法 确保已安装所需依赖
修改脚本中的账号密码(Config类中的USERNAME和PASSWORD)
配置百度OCR API的API_KEY和SECRET_KEY(如需使用验证码识别功能)
运行脚本
 `python auto_sign.py`
 配置说明脚本中的 Config类包含了可配置的参数: class Config:
    # 账号信息
    USERNAME = 'your_username'  # 修改为你的用户名
    PASSWORD = 'your_password'  # 修改为你的密码
    # 网站URL
    BASE_URL = 'https://club.fnnas.com/'
    LOGIN_URL = BASE_URL + 'member.php?mod=logging&action=login'
    SIGN_URL = BASE_URL + 'plugin.php?id=zqlj_sign'
    # Cookie文件路径
    COOKIE_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cookies.json')
    # 验证码识别API (百度OCR API)
    CAPTCHA_API_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
    API_KEY = "your_api_key"  # 替换为你的百度OCR API Key
    SECRET_KEY = "your_secret_key"  # 替换为你的百度OCR Secret Key
    # 重试设置
    MAX_RETRIES = 3  # 最大重试次数
    RETRY_DELAY = 2  # 重试间隔(秒)
    # Token缓存文件
    TOKEN_CACHE_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'token_cache.json')
 百度OCR API配置注册地址:https://cloud.baidu.com/ 
访问百度AI开放平台注册账号创建文字识别应用,获取API Key和Secret Key将获取到的API Key和Secret Key填入Config类中的对应位置 日志说明脚本会在同目录下创建 logs文件夹,并生成格式为sign_YYYYMMDD.log的日志文件,记录签到过程中的各种信息。 可以通过设置环境变量启用调试模式: # Windows
set DEBUG=1
python auto_sign.py
# Linux/Mac
DEBUG=1 python auto_sign.py
 注意事项
请勿频繁运行脚本,以免对网站造成不必要的压力首次运行时会创建Cookie文件,之后会优先使用Cookie登录如Cookie失效,脚本会自动尝试使用账号密码重新登录验证码识别功能需要配置有效的百度OCR API密钥才能使用脚本内置了重试机制,可以自动处理临时性错误 免责声明本脚本仅供学习交流使用,请勿用于任何商业用途。使用本脚本产生的任何后果由使用者自行承担。 更新日志2023.03.15 - 重试机制与验证码识别优化
添加了完善的重试机制,提高脚本稳定性优化了百度OCR API的集成,实现验证码自动识别添加了access_token缓存功能,减少API调用次数改进了错误处理和日志记录添加了调试模式支持 登录功能优化
优化了登录表单的查找逻辑,支持多种表单ID格式调整了登录请求参数,确保正确提交用户名和密码添加了登录状态的准确检测 签到信息获取改进
优化了签到信息区域的查找方式正确解析并记录签到相关信息添加了详细的日志记录 Cookie管理完善
实现了Cookie的保存和加载功能添加了Cookie有效性检查在Cookie失效时自动使用账号密码重新登录 错误处理增强
添加了验证码检测功能完善了错误日志记录优化了异常情况的处理流程 验证码识别功能
在Config类中添加了百度OCR API相关配置实现了recognize_captcha方法,用于下载验证码图片、转换为Base64编码并调用API识别添加了验证码文本清理功能,提高识别准确率该方法会返回识别出的验证码文本或在失败时返回None 登录流程优化
修改了login方法,增加了验证码检测和处理逻辑当检测到需要验证码时,会自动获取验证码图片URL调用recognize_captcha方法识别验证码将识别结果添加到登录表单数据中增加了验证码错误的检测和处理 登录状态检测改进
优化了check_login_status函数,使用多种方法综合判断登录状态检查登录链接是否存在检查页面中是否包含用户名检查是否有个人中心链接 Cookie管理优化
更新了save_cookies函数,保存完整的Cookie信息,包括域名、路径、过期时间等优化了load_cookies函数,使其能够处理新旧两种格式的Cookie文件,确保向后兼容性 |