12306 Train Assistant

🚄 12306 智能订票助手

官方 12306 CLI 工具,支持余票/中转/候补查询与自动化下单,需手动扫码或密码登录,适合高频出行用户。

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

使用说明

核心用法

12306-train-assistant 是一个基于 Python CLI 的铁路 12306 辅助工具,封装了余票查询、中转换乘、经停站查询、候补管理与下单支付等核心能力。用户通过自然语言触发(如"查明天北京到上海余票"),系统自动解析参数并调用 client.py 执行对应命令。

关键功能路径

  • 余票查询left-ticket 支持中文/拼音/三字码站名,可限输出条数
  • 中转换乘transfer-ticket 自动推荐换乘方案,支持指定中转站;transfer-book 完成中转订单提交(含预检模式 --dry-run
  • 经停站查询route 优先用车次号 --train-code 自动解析内部编号
  • 登录管理:支持密码登录(含短信验证)与二维码登录 qr-login-createstatus 检查登录态
  • 候补全流程candidate-queue 查看排队状态、candidate-submit 提交候补、candidate-cancel 取消、candidate-pay 获取支付参数
  • 订票支付book 支持选座、order-pay 获取支付宝/微信/银联支付链接

显著优点

1. 功能覆盖完整:从查询到支付形成闭环,候补、中转等复杂场景均有支持
2. 参数智能解析:自动处理相对日期(今天/明天)、多格式站名、车次号转内部编号

3. 安全预检机制--dry-run 模式可在正式提交前验证订单可行性

4. 支付链路兜底:明确提示 App 端支付作为网页支付失败的备选方案

潜在缺点与局限性

1. 登录依赖重:多数操作需先完成登录,且 12306 风控机制可能触发 error.html 拦截
2. 非官方封装:基于爬虫/接口逆向实现,存在接口变更导致失效的风险

3. 无图形界面:纯 CLI 工具,对非技术用户门槛较高

4. 支付环节受限:支付参数获取依赖 12306 网页端,可能出现扫码失败需转 App 的情况

5. 候补兑现不确定:候补提交成功不代表最终出票,仍需持续关注 candidate-orders

适合人群

  • 高频铁路出行者,需批量查询或自动化操作
  • 技术背景用户,熟悉命令行操作
  • 需要中转方案规划或候补管理的复杂出行场景

常规风险

  • 账号安全风险:密码登录存在凭证泄露可能,建议优先使用二维码登录
  • 风控封禁风险:高频请求可能触发 12306 风控,导致 IP 或账号受限
  • 支付安全风险:需核对支付链接域名,防范钓鱼
  • 订单时效风险:支付链接有时效,超时需重新获取

12306 Train Assistant 内容

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