12306 Train Assistant

🚄 智能火车票查询与订票助手

基于12306 CLI的火车票智能查询与订票辅助工具,支持余票查询、中转换乘、候补监控等完整购票流程自动化。

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

使用说明

核心用法

本技能通过封装 client.py 命令行工具,提供12306火车票查询与订票的完整自动化能力。核心功能覆盖六大场景:

1. 余票查询(left-ticket)
支持按日期、出发站、到达站查询实时余票,自动解析中文站名/拼音/三字码,可选 --json 输出结构化数据便于二次处理。

2. 中转换乘(transfer-ticket)
智能推荐中转方案,支持指定换乘站或自动最优推荐,可控制显示无座方案及结果数量。

3. 经停站查询(route)
创新支持 --train-code 自动解析内部车次号,用户只需提供常见车次号(如G1033)即可查询全程经停信息,大幅降低使用门槛。

4. 登录与状态管理
完整支持账号密码登录、短信验证码登录、登录状态检查、Cookie持久化,且多个命令内置自动补登录机制。

5. 乘车人与订单管理
查询常用乘车人、未出行订单、历史订单,支持日期范围筛选和分页。

6. 候补监控与订票
实时查看候补排队状态、进行中/已处理候补订单,支持 --dry-run 预检查订票流程。

显著优点

  • 全流程覆盖:从查询、规划、监控到下单的完整链路,无需跳转官方App
  • 智能参数解析:自动转换相对日期(今天/明天/后天),支持多种站名输入格式
  • 人性化设计--train-code 自动解析避免用户查找复杂的内部车次号
  • 风控感知:内置失败重试建议与频率控制提示
  • 灵活输出:默认文本易读,可选JSON便于集成

潜在缺点与局限性

  • 依赖非官方接口:基于逆向的CLI工具,存在接口变更导致失效的风险
  • 风控限制:高频请求可能触发12306反爬机制,需人工介入处理验证码
  • 支付环节中断:订票流程止于提交订单,支付仍需前往官方渠道完成
  • 地域限制:仅支持中国大陆铁路网络,国际列车等特殊场景覆盖不全
  • 维护依赖:核心 client.py 需持续更新以适配12306接口变化

适合人群

  • 高频出差需批量查询规划行程的商务人士
  • 春运/节假日抢票需实时监控余票与候补状态的用户
  • 开发者希望将火车票查询集成到自动化工作流(配合 --json 输出)
  • 偏好命令行效率、反感官方App繁琐交互的技术用户

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 账号安全 | 需存储登录凭据,存在泄露风险 | 使用环境变量 `KYFW_PASSWORD`,避免硬编码 |
| 接口稳定性 | 非官方实现,可能随时失效 | 关注上游更新,保留官方App作为备选 |
| 数据准确性 | 余票信息存在缓存延迟 | 关键决策前通过官方渠道二次确认 |
| 法律合规 | 自动化工具可能违反12306用户协议 | 控制请求频率,仅用于个人用途 |
| 支付安全 | 本工具不处理支付,需跳转官方完成 | 警惕钓鱼链接,确认支付域名正确 |

使用建议

首次使用建议先执行 status 检查登录态,再通过 passengers 确认乘车人信息可用。订票前务必使用 --dry-run 预检查参数正确性,正式提交时保持网络稳定并关注排队状态。

12306 Train Assistant 内容

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