12306 Train Assistant

🚄 官方级火车票查询订票助手

对接12306官方接口的CLI火车票查询与订票助手,支持余票查询、中转换乘、候补排队、扫码登录等完整购票链路。

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

使用说明

核心用法

12306-train-assistant 是基于官方 client.py 的命令行火车票服务工具,覆盖从查询到支付的全流程操作。核心能力包括:

查询类:余票查询(left-ticket)、中转换乘方案(transfer-ticket)、经停站时刻表(route)支持自动解析车次号;订单类:普通订票(book)、中转下单(transfer-book)、候补提交/取消/支付(candidate-*);账户类:密码/二维码登录、乘车人管理、订单查询与支付参数获取。

命令设计遵循"最小可用原则"——支持中文/拼音/三字码站名自动识别,相对日期(今天/明天)自动转换,车次号自动映射内部 train_no。所有查询类操作无需登录,订票/候补/支付类需先完成登录态检查。

显著优点

  • 功能完整度高:覆盖12306官方90%以上的核心能力,包括较复杂的中转换乘推荐和候补排队机制
  • CLI 友好:参数设计直观,支持 --dry-run 预检避免误下单,--json 结构化输出便于脚本集成
  • 登录方式灵活:支持账号密码、短信验证、二维码三种登录路径,适应不同安全场景
  • 中转换乘智能:自动推荐换乘方案,支持指定中转站,解决无直达票的出行难题
  • 候补机制完善:支持候补排队状态实时监控、自动兑现后的支付参数获取

潜在缺点与局限性

  • 风控敏感:高频查询或下单可能触发12306反爬机制,返回 error.html 需人工等待
  • 中转结果非穷尽:推荐方案依赖官方算法,不保证覆盖所有可行中转组合
  • 支付链路受限:网页支付可能不可用,最终支付常需跳转官方App完成
  • 无图形界面:纯CLI工具对非技术用户门槛较高
  • 日期强依赖:部分查询必须提供未来日期,无法查询历史余票

适合人群

  • 技术用户/开发者:需要自动化火车票查询或集成到个人工作流
  • 高频出行者:熟悉12306规则,追求批量查询、候补监控效率
  • 中转需求复杂:需要快速对比多方案、指定中转站的旅客
  • 不适合:不熟悉命令行、需要可视化选座、追求一键支付完成的普通用户

常规风险

1. 账号安全:密码登录需妥善保管凭证,建议优先使用二维码登录
2. 误操作风险--dry-run 虽可预检,但正式提交后订单生成即锁定席位,需30分钟内支付

3. 数据时效:余票信息存在秒级延迟,高峰期查询结果可能与实际可售状态偏差

4. 隐私泄露:乘车人信息、订单详情在本地处理,但接口通信仍存在被拦截理论风险

5. 服务可用性:依赖12306官方接口稳定性,节假日高峰期可能出现超时或限流

12306 Train Assistant 内容

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