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

转自量子位,作者晓查,郭一璞

今天,已经可以抢过完年回来的火车票了。

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

况且,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、开放抢票时间根据自己车次填入,可以提前几秒,比如下午一点开发抢票,则填入 OPEN_TIME = “12:29:57” ;

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

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

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

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

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

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

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

python3 run.py c

接着启动服务:

python3 run.py r

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

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

热榜第二:py12306

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

git clone https://github.com/pjialin/py12306

cd py12306

pip3 install -r requirements.txt

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

cp env.py.example env.py

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

1、你的 12306 账户和密码;

# 12306 账号

USER_ACCOUNTS = [

# 目前已支持仅查询,不下单,屏蔽掉下面的账号即可

'key': 'lilei', # 如使用多个账号 key 不能重复

'user_name': 'Lilei',

'password': '123456'

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

# 查询任务

QUERY_JOBS = [

# 'job_name': 'bj -> yl', # 任务名称,不填默认会以车站名命名,不可重复

'account_key': 0, # 将会使用指定账号下单

'left_dates': [ # 出发日期 :Array

"2020-01-22",

'stations': { # 车站 支持多个车站同时查询 :Dict or :List

'left': '北京',

'arrive': '合肥',

'members': [ # 乘客姓名,会根据当前账号自动识别乘客类型 购买儿童票 设置两个相同的姓名即可,程序会自动识别 如 ['张三', '张三']

"李雷",

"韩梅梅"#在姓名前加*表示学生购买成人票

# 7, # 支持通过序号确定唯一乘客,序号查看可通过 python main.py -t 登录成功之后在 runtime/user/ 下找到对应的 用户名_passengers.json 文件,找到对应的 code 填入

'allow_less_member': 0, # 是否允许余票不足时提交部分乘客

'seats': [ # 筛选座位 有先后顺序 :Array

# 可用值: 特等座, 商务座, 一等座, 二等座, 软卧, 硬卧, 动卧, 软座, 硬座, 无座

'二等座'

'train_numbers': [ # 筛选车次 可以为空,为空则所有车次都可以提交 如 [] 注意大小写需要保持一致

"G267",

'except_train_numbers': [ # 筛选车次,排除车次 train_numbers 和 except_train_numbers 不可同时存在

'period': { # 筛选时间

'from': '00:00',

'to': '24:00'

接着运行程序:

python3 main.py

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

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

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

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

无论采取哪种交通方式,祝大家都能开开心心过年回家,平平安安回来搬砖~

2020 已经开始,量子位也祝大家新年快乐 ^_^

传送门

testerSunshine/12306

https://github.com/testerSunshine/12306

py12306

https://github.com/pjialin/py12306

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「」,将数字替换成 0 及以上数字,有惊喜好礼哦~

题图:pexels,CC0 授权。

php抢票插件下载,实测两款 GitHub 开源抢票插件,所有坑我们都帮你踩过了相关推荐

  1. 今日可抢回程火车票,实测两款GitHub开源抢票插件,所有坑我们都帮你踩过了...

    晓查 郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天,已经可以抢过完年回来的火车票了. 如果你对自己手速和市面上的各种"加速包"都没什么信心的话,不妨试试用程序 ...

  2. 还没抢到票吗?实测两款 GitHub 开源抢票插件,所有坑我们都帮你踩过了

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 晓查 郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天,已经可以抢过完年回来的火车票了. 如果你对自己手速和市面上的各种& ...

  3. github python抢票_实测两款 GitHub 开源抢票插件,所有坑都帮你踩过了

    如果你对自己手速和市面上的各种 "加速包" 都没什么信心的话,不妨试试用程序员的手段抢票? 况且,12306 官方宣布屏蔽了一大批付费抢票软件,这也意味着你即使给这些软件付了会员费 ...

  4. 实测两款 GitHub 开源抢票插件,所有坑都帮你踩过了

    「 读者福利!2 TB 各类技术资源免费赠送 」 转自量子位,作者晓查,郭一璞 如果你对自己手速和市面上的各种 "加速包" 都没什么信心的话,不妨试试用程序员的手段抢票? 况且,1 ...

  5. totolink文件服务器,谁的WiFi覆盖广 实测两款TOTOLINK路由

    1三天线vs四天线 N550R对战N600R 现在人们对Wi-Fi的需求范围也越来越广,每天我们都用手机.平板来搜寻WiFi信号,似乎这已经变成我们生活中不可或缺的部分.可是一款主流的百元无线路由器在 ...

  6. hbuilder前端需要的插件_这两款HTML5开发工具,前端开发工程师用了直呼内行

    HTML5,是web前端开发者入门就需要学习的一门技术.而对于程序员来说,要想让开发工作实现效率最大化,就必然离不开一个趁手的开发工具.像这种世界级的技术,也自然是有很多很多的开发工具可以选择使用.今 ...

  7. 下载蓝盒插件_推荐几款 Chrome m3u8 播放器插件(附下载)

    Posted by 撒得一地 on 2018年10月10日 in Chrome插件 国外稳定加速器推荐 vypr | Nord 之前在 PC 端 Chrome 浏览器上尝试播放 hls 视频地址时,都 ...

  8. cbv继承view是哪个包_包你一眼就心动!两款帅爆国产轿车来袭,选谁都不错

    高端自主品牌纯电动车的崛起,让我们不止于关注特斯拉这样的国际品牌.最近就有两款比Model 3更便宜,比Model 3尺寸更大的中国品牌车型,瞄准了电动轿车市场,它们就是小鹏P7和比亚迪汉EV.日前, ...

  9. 推荐两款免费开源可商用的优美的Bootstrap 4 主题(UI kit)

    Shards Shards 是采用Bootstrap 4 框架进行开发的主题或者说UI Kit,含有丰富的 UI 组件,包含了大部分的网页端常用的元素,方便用户进行定制,提供了几个页面模板. 官网和演 ...

最新文章

  1. (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!
  2. R语言ggplot2可视化分组散点图、将图例放置在图像内部的指定区域、自定义缩放图例中点形状pch的大小(增大或者缩小)、change size of shape elements
  3. R构建对数回归模型(Logarithmic Regression)
  4. 无线信号功率计算公式(自由空间模型,地面反射模型)
  5. Halcon —— pick_and_place_scara_stationary_cam.hdev
  6. 如何判断java对象是否为String数组
  7. 面对困难的代码,分解困难各个击破
  8. python使用环境_使用python之环境管理
  9. stdafx.h 的作用
  10. 手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v2.0
  11. toj 4610 Biggest Number
  12. [Node.js] 模块化 -- NodeJS之heroAdmin后台管理系统基础
  13. Vue.js自定义指令的用法与实例
  14. centos7.x 网卡自动关闭,总是需要手动去启动情况解决方法
  15. Linux下文件实时自动同步备份
  16. 各省生活资料PPI数据(2009-2018年)
  17. 【协议】LLDP、ARP、STP、ICMP协议
  18. C++二进制数转换十进制数
  19. cad快看_CAD三维这样材质贴图,你学会了吗 ?
  20. 计网:网络层协议ICMP

热门文章

  1. python找色_python 找图色
  2. 解决Windows中提示找不到msxml6.dll文件的问题
  3. 秒滴云短信验证登录小demo
  4. 【云原生】监视Docker桌面的容器内存和CPU使用情况
  5. Appium-实现手势密码登陆
  6. 元宇宙概念火热,哪些“元技能”人才炙手可热?
  7. 多媒体会议厅音视频方案解析
  8. c语言中len的作用,C语言 int len( )  求大神解释
  9. 进入公司暂时没事做怎么办
  10. 《人人都是产品经理1.0》读后感和思维导图