优质文章,第一时间送达!

转自量子位,作者晓查,郭一璞
今天,已经可以抢过完年回来的火车票了。

如果你对自己手速和市面上的各种 “加速包” 都没什么信心的话,不妨试试用程序员的手段抢票?
况且,12306 官方宣布屏蔽了一大批付费抢票软件,这也意味着你即使给这些软件付了会员费,也依旧抢不到票。
所以只能回到最初的手动抢票?No!No!No!
GitHub 上有两个 “年经” 项目,每到春运前一段时间,就会定时定点的登顶热榜,助力一代又一代程序员和姿势丰富的非程序员们抢票回家。

那么,这两个项目究竟怎么用?好不好用?
和手动抢票、第三方软件抢票比起来优势是否明显?
安装使用过程中,会不会遇到不可名状的 bug?
今天为大家一一横评。
霸占热榜的两个项目
排在 GitHub 热榜第 1 的项目名字简单粗暴,就直接叫 12306,已经有 21300 星,来自 ID 为 testerSunshine 的作者。
testerSunshine 的 12306 项目可以自动登录用户账户,能卡点抢票,也能捡漏候补,抢到票后会通过邮件进行通知。
排在热榜第 2 位的,叫做 py12306,目前已有 8300 星,今年初就已经非常火了。
我该选哪个抢票软件
那么整体来看,这两款开源软件,哪个更好用呢?
py12306 从去年开始就已经被大家广泛使用,其优点是设置比较简洁,甚至还有图形界面。但是它在验证码登录过程中容易出现下载失败的情况,如果把打码接口从 free 换成 “若快” 平台,还需要充值。

如果你对运行代码一无所知,建议使用 py12306.
testerSunshine 的 12306 插件设置比较复杂,自动获取 cookie 经常失败,因此需要手动填写,这一点比不上 py12306;但是它自带了开发者的 12306 图片识别模型,我们可以在本地完成图片识别码的登录过程。
从实际使用效果来看,我们更推荐 testerSunshine 的 12306,目前它在 GitHub 上的高人气,也反映的用户们的选择。
测评细节 & 使用教程
两个抢票插件的关键都在配置文件的修改:testerSunshine/12306 的关键在于 TickerConfig.py,而 py12306 的关键在于 env.py。
热榜第一:12306
我们先开始测试现在趋势榜第一的 12306,先将项目复制到本地:
再安装依赖项,为了避免多 python 环境产生问题,建议以 root 用户方式安装:
下面到了整个过程最关键的环节,配置 TickerConfig.py 文件,这一步将决定你的成败!非常重要!
看到配置文件里一长串字符,你是不是觉得很头疼呢?我们经过测试,找到了其中的几个关键点:
1、如果你没有抢到票,寄希望于其他人退票后捡漏,令 TICKET_TYPE = 2,否则设置为 1;
2、STATION_TRAINS可以填入一串你想要抢的车次,比如北京到合肥方向,你想购买 G267、G29 次列车,就设置为 STATION_TRAINS = [“G267”, “G29”],中间用逗号隔开,不填写等于抢当日全部车次;
3、STATION_DATES填入你出发的日期,这一步不难;
4、出发站 FROM_STATION 和到达站 TO_STATION 不必精确到具体的站,只需填入城市,除非你想从特定站点出发;
5、乘车人填入你 12306 账号中常用联系人的姓名,比如 TICKET_PEOPLES = [“张三”],如果没有,需要登录 12306 手动添加;
6、填入你的 12306 账户名和密码;
7、如果不需要邮箱和 Server 酱提醒,请把 EMAIL_CONF 和 SERVER_CHAN_CONF 的第一项都设置为 False;
8、开放抢票时间根据自己车次填入,可以提前cc3sB#シY