自动预约 12306 火车票的全流程实战 —— 基于 Python 3 + Selenium/Playwright 的现代爬虫教程_python实现12306自动抢票
1 · 项目背景与目标
每到春运 / 国庆 / 暑运, “一票难求” 的场景总会如期上演。尽管 12306 已上线「候补抢票」并开放人脸核验 App,小伙伴们仍希望掌握自动预约、余票监控、下单提交乃至一键支付的整套脚本流程。
本教程目标:
- 账号扫码登录 → Cookies/Token 本地持久化
- 动态查询余票 + 正则过滤车次
- 自动填充乘客信息、席别、日期
- 抢票失败自动重试 / 候补提单
- 支持 CLI、Web 面板、无人值守守护脚本
多端支持:Selenium + ChromeDriver(兼容 GUI 调试)或 Playwright + Chromium(无头 + asyncio)。
12306 的防爬策略、验证码形态和接口版本在近两年又升级了两次12306.cn;因此本文紧跟 2025 年最新前端 JS 混淆与接口节奏,参考了业界对 12306 协议的持续逆向 github