# 同程旅行自动签到脚本 这是一个基于Python的自动化脚本,用于自动完成同程旅行APP的每日签到和任务,获取里程奖励。脚本支持多账号配置,自动处理日常任务,并通过青龙面板提供通知功能。 ## 功能特性 - **自动签到**:每日自动完成签到任务 - **任务处理**:自动识别并完成各类日常任务 - **多账号支持**:通过环境变量配置多个账号,支持使用换行符或`#`分隔 - **通知功能**:支持通过青龙面板发送执行结果通知 - **智能重试**:任务失败时自动重试,提高成功率 - **数据统计**:记录签到天数、里程变化等信息 ## 使用方法 ### 1. 环境准备 首先需要准备好运行环境: 1. 安装青龙面板(建议版本2.10.0以上) 2. 确保青龙面板已安装以下依赖: - aiohttp - requests ### 2. 获取抓包信息 1. 打开并登录“同程旅行”APP 2. 开启抓包工具(如Charles、Fiddler等) 3. 点击APP右下角“我的”-“签到” 4. 抓取请求域名`https://app.17u.cn`请求头中的三个参数: - `phone`:手机号 - `apptoken`:认证令牌 - `device`:设备标识 ### 3. 配置环境变量 在青龙面板中添加环境变量: 1. 打开青龙面板,进入「环境变量」页面 2. 点击「添加变量」按钮 3. 变量名:`tongcheng` 4. 变量值格式: ``` phone&apptoken&device ``` 多账号之间支持用换行符或`#`分隔,例如: ``` # 使用换行符分隔(推荐) 13800138000&abcdef123456&device1 13900139000&abcdef789012&device2 # 或使用#分隔 13800138000&abcdef123456&device1#13900139000&abcdef789012&device2 ``` ### 4. 添加脚本 1. 在青龙面板中,进入「脚本管理」页面 2. 点击「添加脚本」按钮 3. 输入脚本名称(如`tc_signin.py`) 4. 将脚本代码复制到编辑器中 5. 点击「保存」按钮 ### 5. 设置定时任务 1. 在青龙面板中,进入「定时任务」页面 2. 点击「添加任务」按钮 3. 任务名称:自定义(如`同程旅行签到`) 4. 命令: ```bash task tc_signin.py ``` 5. 定时规则:设置执行频率(如`0 0 * * *`表示每天0点执行) 6. 点击「保存」按钮 ## 通知配置 脚本支持通过青龙面板的通知功能发送执行结果,需要确保青龙面板已正确配置通知方式(如Server酱、Telegram等)。 如果通知功能无法正常工作,脚本会在日志中记录详细的错误信息,帮助排查问题。 ## 脚本更新说明 ### 版本1.6更新内容 - 优化环境变量解析,支持使用换行符分隔多账号 - 增强环境变量格式验证和错误处理 - 优化日志输出,明确显示解析到的账号数量 - 保留之前所有功能和优化 ### 版本1.5更新内容 - 优化通知模块,解决异步环境下通知失败问题 - 使用线程池执行同步通知函数,避免阻塞事件循环 - 增强错误处理,提供更详细的通知失败信息 - 保留之前的所有功能和优化 ### 版本1.4更新内容 - 修复推送服务失败的问题 - 优化notify模块导入逻辑 - 添加详细的路径查找和错误日志 - 保留之前的所有功能和优化 ## 常见问题 1. **脚本执行失败**: - 检查环境变量是否正确配置 - 确认抓包获取的参数是否有效 - 查看脚本执行日志,定位具体错误原因 2. **通知未收到**: - 检查青龙面板通知配置是否正确 - 查看脚本日志,确认通知是否发送成功 - 检查通知服务提供商的状态 3. **任务执行不完全**: - 脚本有内置的重试机制,但部分任务可能需要手动完成 - 检查任务列表中是否有特殊任务需要额外操作 ## 免责声明 本脚本仅供学习交流使用,请勿用于商业用途。使用本脚本可能违反同程旅行的用户协议,请谨慎使用。开发者不对因使用本脚本而导致的任何问题负责。