12306 Train Assistant

🚄 一站式 12306 购票自动化助手

12306 CLI 自动化助手,支持余票查询、中转换乘、订票、候补、订单管理等完整购票链路,适合高频出行用户与自动化需求场景。

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

使用说明

核心用法

12306 Train Assistant 是一款面向铁路 12306 平台的命令行自动化工具,通过 client.py 脚本封装了官网核心 API,实现从查询到支付的完整购票链路。主要功能模块包括:

  • 余票查询 (left-ticket):支持指定日期、起止站点的实时余票检索,可选 queryG/queryZ 双接口
  • 中转换乘 (transfer-ticket):智能推荐中转方案,支持指定换乘站或自动最优匹配
  • 经停站查询 (route):通过车次号自动解析内部编码,查询列车全程停靠信息
  • 订票/中转下单 (book / transfer-book):支持预检模式 (--dry-run)、选座、多乘客批量提交
  • 候补管理 (candidate-queue / candidate-orders / candidate-submit / candidate-cancel):全链路候补状态监控与操作
  • 登录体系:密码登录、短信验证码登录、二维码登录三种方式,支持自动补登录机制
  • 订单与乘车人:订单查询(未出行/历史)、乘车人信息拉取

显著优点

1. 全功能覆盖:相比同类工具仅支持查询,本技能实现查询-下单-支付-候补-订单管理的闭环
2. 自动化友好:支持 --json 结构化输出、环境变量注入凭证、后台二维码轮询 (nohup),适合脚本集成

3. 智能降级:cookie 失效时可通过 --username/--password 等参数自动触发补登录,减少人工干预

4. 多模态输入:站点支持中文/拼音/三字码,日期支持相对表达(今天/明天自动解析为 YYYY-MM-DD

5. 风控意识:内置 --max-wait-seconds--poll-interval 等排队策略参数,降低触发 12306 风控概率

潜在缺点与局限性

1. 官方接口依赖:所有功能基于 12306 网页/APP 私有 API,接口变更可能导致功能失效
2. 支付链路受限:技能生成的 pay_url 实测可能无法完成网页支付,需引导用户至官方 App 继续操作

3. 中转覆盖不全:中转方案依赖 12306 官方推荐算法,不保证穷尽所有可行换乘组合

4. 风控不可控:高频操作仍可能触发 error.html 风控页面,需人工等待后重试

5. 凭证管理风险:自动补登录机制需传递明文密码或依赖环境变量,存在敏感信息泄露隐患

适合人群

  • 高频差旅用户:需要批量查询、监控余票的商务出行者
  • 自动化开发者:希望将购票流程集成到个人工作流或 CI/CD 的技术用户
  • 中转复杂场景:如深圳-拉萨等无直达线路,需智能换乘规划的长途旅客
  • 候补策略玩家:需要精细化监控候补排队状态、批量管理候补订单的用户

常规风险

  • 账号安全风险:二维码登录需后台轮询,若环境不安全可能导致登录状态被劫持
  • 资金风险:支付链接跳转异常时,需严格核对 12306 App 内订单状态,避免重复支付
  • 隐私合规:乘车人信息、订单数据通过本地脚本处理,需确保运行环境可信
  • 服务稳定性:非官方工具,12306 接口升级或反爬策略调整可能导致功能中断

12306 Train Assistant 内容

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