欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

程序员文章站 2024-03-17 22:43:22
...

如果你对自己手速和市面上的各种 “加速包” 都没什么信心的话,不妨试试用程序员的手段抢票?

况且,[12306 官方宣布屏蔽了一大批付费抢票软件],这也意味着你即使给这些软件付了会员费,也依旧抢不到票。

所以只能回到最初的手动抢票?No!No!No!

GitHub 上有两个 “年经” 项目,每到春运前一段时间,就会定时定点的登顶热榜,助力一代又一代程序员和姿势丰富的非程序员们抢票回家。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

那么,这两个项目究竟怎么用?好不好用?

和手动抢票、第三方软件抢票比起来优势是否明显?

安装使用过程中,会不会遇到不可名状的 bug?

今天为大家一一横评。

霸占热榜的两个项目

排在 GitHub 热榜第 1 的项目名字简单粗暴,就直接叫 12306,已经有 21300 星,来自 ID 为 testerSunshine 的作者。

testerSunshine 的 12306 项目可以自动登录用户账户,能卡点抢票,也能捡漏候补,抢到票后会通过邮件进行通知。

排在热榜第 2 位的,叫做 py12306,目前已有 8300 星,今年初就已经非常火了。

我该选哪个抢票软件

那么整体来看,这两款开源软件,哪个更好用呢?

py12306 从去年开始就已经被大家广泛使用,其优点是设置比较简洁,甚至还有图形界面。但是它在验证码登录过程中容易出现下载失败的情况,如果把打码接口从 free 换成 “若快” 平台,还需要充值。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

如果你对运行代码一无所知,建议使用 py12306.

testerSunshine 的 12306 插件设置比较复杂,自动获取 cookie 经常失败,因此需要手动填写,这一点比不上 py12306;但是它自带了开发者的 12306 图片识别模型,我们可以在本地完成图片识别码的登录过程。

从实际使用效果来看,我们更推荐 testerSunshine 的 12306,目前它在 GitHub 上的高人气,也反映的用户们的选择。

测评细节 & 使用教程

两个抢票插件的关键都在配置文件的修改:testerSunshine/12306 的关键在于 TickerConfig.py,而 py12306 的关键在于 env.py。

热榜第一:12306

我们先开始测试现在趋势榜第一的 12306,先将项目复制到本地:

 

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

再安装依赖项,为了避免多 python 环境产生问题,建议以 root 用户方式安装:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

下面到了整个过程最关键的环节,配置 TickerConfig.py 文件,这一步将决定你的成败!非常重要!

看到配置文件里一长串字符,你是不是觉得很头疼呢?我们经过测试,找到了其中的几个关键点:

1、如果你没有抢到票,寄希望于其他人退票后捡漏,令 TICKET_TYPE = 2,否则设置为 1;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

2、STATION_TRAINS可以填入一串你想要抢的车次,比如北京到合肥方向,你想购买 G267、G29 次列车,就设置为 STATION_TRAINS = [“G267”, “G29”],中间用逗号隔开,不填写等于抢当日全部车次;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

3、STATION_DATES填入你出发的日期,这一步不难;STATION 和到达站 TO_STATION 不必精确到具体的站,只需填入城市,除非你想从特定站点出发;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

5、乘车人填入你 12306 账号中常用联系人的姓名,比如 TICKET_PEOPLES = [“张三”],如果没有,需要登录 12306 手动添加;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

6、填入你的 12306 账户名和密码;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

7、如果不需要邮箱和 Server 酱提醒,请把 EMAIL_CONF 和 SERVER_CHAN_CONF 的第一项都设置为 False;

8、开放抢票时间根据自己车次填入,可以提前几秒,比如下午一点开发抢票,则填入 OPEN_TIME = “12:29:57” ;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

9、cookie 设置这一步尤为关键,经过我们实测,COOKIE_TYPE 设置为 1 或 2 都有些问题,建议设置为 3;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

10、上一步设置为 3 以后,还需要手动设置后面的两个参数 RAIL_EXPIRATION和RAIL_DEVICEID。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

如何找到这两个参数?先用 Chrome 浏览器打开 12306.cn,点击网站地址左边的 “锁形” 图标:再点击下发的 Cookie

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

接着会出现一组 Cookie,选择来自 12306.cn 的 Cookie:

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

看到 RAIL_EXPIRATION和RAIL_DEVICEID两个参数,点击它,将内容里的一串字符复制到配置文件中。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

需要注意的是 RAIL_DEVICEID 参数很长,可能显示不全,请完整复制。

至此,准备工作已全部完成,启动前请先筛选 cdn,这点很重要!

python3 run.py c

接着启动服务:

python3 run.py r

接着它会提出登录成功,并列出当日所有相关车次信息,然后开始抢票:

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

抢票成功后,这个软件不能帮你完成支付,你还需要在手机或者电脑上登录 12306 网站,在 30 分钟内完成支付动作,否则你辛辛苦苦抢的票就没了。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

热榜第二:py12306

py12306 的安装方式与前者类似:

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

然后修改配置文件,现更改后缀名

cp env.py.example env.py

默认配置文件中需要修改的选项有:

1、你的 12306 账户和密码;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

2、查询任务 QUERY_JOBS 中的各项参数,包括出发日期 left_dates、出发站 left 和到达站 arrive、乘客姓名 members、坐席 seats、车次 train_numbers;

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

接着运行程序:

python3 main.py

如果你不善于使用命令行模式,还可以使用图形界面观察抢票任务。

很多小伙伴在学习Python的过程中往往因为没有资料或者没人指导从而导致自己不想学下去了,因此我特意准备了大量的PDF书籍、****,都免费送给大家!不管你是零基础还是有基础都可以获取到自己相对应的学习礼包!包括Python软件工具和2019最新入门到实战教程,(https://url.cn/59RWE1Z)复制到浏览器打开!

将配置中的 WEB_ENABLE 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可,然后在浏览器中输入 http://127.0.0.1:8008。

买票回家难?软件加速包也无用?看我用python轻松抢票回家!

现在,就可以让程序帮你抢票啦。

不过,抢票软件并非万能,巧 coder 难为无票之炊,除了技术,你可能还需要一点点运气。