2019年接近尾声,距离春节回家的日子越来越近,26日起,2020年除夕火车票正式开售,抢票大战也进入白热化阶段。是否为某抢票 App 加速而烦恼,是否为车票“秒光而烦恼”。别慌,作为连“对象”都是 new
出来的程序员,这点小事怎么会难倒我们呢?今天我们介绍两个 Github 最近涨 Stars 最猛的两个项目:12306 购票小助手、py12306 购票助手,用好这两个抢票工具,轻轻松松抢票,开开心心回家过年 。
一周内涨 5000+ stars ,技术流抢票可不是盖的喔~
Github 原项目地址:12306 购票小助手、py12306 购票助手
如何抢票
py12306 购票助手
先看 py12306 抢票小助手如何使用。购票功能支持:多日期查询余票、自动打码下单、 用户状态恢复、电话语音通知、多账号、多任务、多线程支持、单个任务多站点查询、分布式运行、Docker 支持、动态修改配置文件、邮件通知、Web 管理页面、微信消息通知。
先看抢票结果命令视图:
轻松几步安装启动:
- 如果没有 python 环境建议先安装 python 3.6 以上版本,然后安装依赖
git clone https://github.com/pjialin/py12306pip install -r requirements.txt
- 配置程序
cp env.py.example env.py
- 启动前测试
python main.py -t
- 运行程序
python main.py
也可以使用 docker 启动服务
1. 将配置文件下载到本地
docker run --rm pjialin/py12306 cat /config/env.py > env.py
# 或
curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py
2. 修改好配置后运行
docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306
当前目录会多一个 12306.log 的日志文件, tail -f 12306.log
docker-compose 中使用
1. 复制配置文件
cp docker-compose.yml.example docker-compose.yml
2. 从 docker-compose 运行
在docker-compose.yml
所在的目录使用命令
docker-compose up -d
启动程序后访问当前主机地址 + 端口号 (默认 8008)
下单成功
12306 购票小助手
功能支持:自动打码、自动登录、准点预售和捡漏、 智能候补、邮件通知、server酱通知。
先看看测试的抢票结果:
抢票步骤
第一步安装依赖库
具体依赖库安装可跳转链接
第二步启动服务
- 配置抢票的个人信息,包括车次、12306 账号密码、座位等信息
启动前请先筛选cdn,这点很重要
python3 run.py c
- 启动服务
python3 run.py r
- 如果你不知道如何操作,下面的命令可能会帮助你
python3 run.py -h——————————————————————————
sage: run.py [-h] operatepositional arguments:operate r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
- 如果你的服务器安装了docker与docker-compose, 那么你可以忽略上面的所有步骤,直接按以下步骤操作,即可开始抢票:
- 开始抢票:
docker-compose up --build -d
- 停止抢票:
docker-compose down
- 查看抢票log:
docker logs --follow ticket
- 请确认你安装的docker版本为18.09及以上:
docker -v
- 请确认你安装的docker-compose版本为1.23.2及以上:
docker-compose -v
- 请根据自己需要修改好配置文件:
TickerConfig.py
- 请修改配置文件
TickerConfig.py
中的变量AUTO_CODE_TYPE
和HOST
,AUTO_CODE_TYPE
改为3
, HOST改为"captcha:80"
(这里很重要,这是本地打码服务器的配置) - 前提条件:
- 请确认你安装的docker版本为18.09及以上:
docker -v
- 请确认你安装的docker-compose版本为1.23.2及以上:
docker-compose -v
- 请根据自己需要修改好配置文件:
TickerConfig.py
- 请修改配置文件
TickerConfig.py
中的变量AUTO_CODE_TYPE
和HOST
,AUTO_CODE_TYPE
改为3
, HOST改为"captcha:80"
(这里很重要,这是本地打码服务器的配置)
- 请确认你安装的docker版本为18.09及以上:
- 运行命令:
- 开始抢票:
docker-compose up --build -d
- 停止抢票:
docker-compose down
- 查看抢票log:
docker logs --follow ticket
- 开始抢票:
- 开始抢票:
抢票流程图
两个抢票工具分析总结:
两个抢票工具的工作原理都是差不多的,实现思路都是模拟人工手动刷新查询余票和抢票,只不过部署好之后就是工具调用 12306 的 API 接口帮我们自动执行查票和抢票的流程,解放双手,再也不用在 12306 官网手动刷新抢票苦苦等待了,也不用为 APP 加速包而烦恼了。