0%

使用12306抢票

 这次回家忘记提前买票了,到前一周才发现买不到票了,刚好在github上看到抢票小助手,废话不多说,开始使用。

准备工作

该项目使用python编写 为避免不同python版本冲突,我们使用conda搭建虚拟环境

1
2
3
4
$ conda env create -n 12306 python=3.7
$ conda activate 12306
$ git clone https://github.com/testerSunshine/12306.git
$ pip install -r requirements.txt

github地址

模型下载

具体说明请查看小助手README文档

1
2
1. 模型下载链接:https://pan.baidu.com/s/1rS155VjweWVWIJogakechA  密码:bmlm
2. git仓库下载:https://github.com/testerSunshine/12306model.git

下载好模型放入12306抢票助手项目根目录

进行账号配置

对TrackConfig进行配置,由于作者已经注释的非常详细了,所以跟着配置就好了。

下载12306 手机客户端并进行人证审核

开始抢票

 可以进行刷票+候补票了,第一次配置错了,导致一直提交失败,请稍后再试。车次跟日期不匹配。第二次直接对着12306客户端进行车次的设置,后来发现抢到一定的时间总是返回302,推测应该是跟ip有关,然后开启proxifier切换ip,每次请求都是成功的,但是每次不到一分钟就抢到了,后来同事提醒直接去12306客户端买候补就好了,才发现原来候补根本不需要抢很多。到10点多的发现两个小时 的时间,50多快(代理ip费用)的钱打了水漂。于是我直接去12306手机app买了两张候补票,均成功买到座位。至此到2点多,折腾了6个多小时的“测试”宣告结束。

发现

 在跑这个项目的过程中发现,无非是调用12306的相关接口进行登陆,通过获取google浏览器的cookie或者账户密码登陆的方式。在登陆的过程中使用训练好的模型对验证码进行解析,目前看来成功率为50%,然后访问指定的页面进行模拟提交。

相关链接: