12306 Train Assistant

🚄 官方12306自动化订票助手

官方12306 CLI助手,支持余票查询、中转规划、订票支付、候补管理及二维码登录,适合高频铁路出行用户自动化抢票。

收藏
4.3k
安装
2k
版本
0.1.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

12306 Train Assistant 是一个基于 Python CLI 的官方铁路12306自动化辅助工具,覆盖火车票全流程:余票实时查询、智能中转规划、经停站详情、乘车人管理、在线订票与候补排队。技能通过封装 client.py 实现与12306官方接口的交互,支持密码登录、短信验证登录及二维码扫码登录三种认证方式。

显著优点

1. 功能覆盖完整:从查询到支付闭环,支持 left-ticket 余票查询、transfer-ticket 中转规划、book/transfer-book 下单、candidate-* 候补管理、orders 订单查询等全链路操作。

2. 中转智能推荐:自动计算最优换乘方案,支持指定中转站,解决无直达线路的长途出行痛点。

3. 安全登录机制:提供密码登录、短信验证码登录及二维码扫码登录三种方式,其中二维码登录建议后台轮询(nohup),避免前台阻塞。

4. 人性化交互设计:支持相对日期解析(今天/明天/后天)、站名模糊匹配(中文/拼音/三字码)、选座偏好(如 --choose-seats 1D),降低用户记忆成本。

5. 预检机制--dry-run 参数可在正式提交前验证订单可行性,减少因乘车人信息错误导致的失败。

潜在局限与风险

1. 风控敏感:高频查询或下单可能触发12306反爬机制(返回 error.html),需控制请求频率,建议间隔不低于1.5秒。

2. 支付链路不稳定:技能返回的 payment.pay_url 可能因网页端限制无法完成支付,需引导用户至官方App「待支付订单」完成最终付款。

3. 中转方案非 exhaustive:中转结果依赖12306推荐算法,极端冷门线路可能未覆盖全部可行组合。

4. 站点别名覆盖不全:极少数非标准站名(如历史别名)可能无法直接解析,需使用标准站名。

5. 环境依赖:需本地 Python 3 环境及 client.py 依赖库,非纯云端服务。

适合人群

  • 高频铁路通勤/出差人士,需批量查询或多日期监控
  • 技术用户希望自动化抢票、候补监控
  • 长途出行需中转规划,对换乘时间敏感的用户
  • 企业差旅管理员需批量管理员工乘车人信息

常规风险提示

  • 请妥善保管 --passwordKYFW_PASSWORD 环境变量,避免明文暴露
  • 二维码登录建议严格按文档使用 nohup & 后台执行,避免终端阻塞
  • 候补提交前建议先确认目标席别余票状态为「无」,提高成功率
  • 订票成功后30分钟内需完成支付,否则订单自动取消

12306 Train Assistant 内容

手动下载zip · 37.0 kB
client.pytext/plain
请选择文件