查看原文
其他

不刷屏、不加钱、不靠黄牛,技术大神是怎么抢春运火车票的?

李浩然 AppSo 2020-01-07

又到了一年一度的春运时节,一到这个时间,微信群中就充斥着抢票求赞,助力加速的链接。微信中失联已久的人突然弹出一则消息,「 能帮我点下抢票加速么」。但即使加速包加破进度条,在一些热门的线路中,也未必能买到想要的火车票。
当出现这种情况的时候,无奈的人民群众往往只有两种选择,要不就换一个抢票 app ,重新充值到 VVIP 再次抢票。要么就举手投降,微信联系黄牛大哥寻求帮助,说不定黄牛大哥的加价,比抢票 app 的加速费还便宜呢。
对于普通人来说,以上这些可能就购买春运火车票的唯二之选,但对于程序员这一拥有较高计算机技术的群体,他们还有第三条路。
面对高昂的加速包程序员有自己想法
如果你打开世界上最大的程序托管网站 GitHub(也可以说是最大同性交友网站)。点开探索下的趋势栏,你会发现全球最目前最火的六个项目中有两个是针对 12306 开发的抢票脚本。这两个项目 Star 总数加起来已经接近三万。可见抢票脚本在程序员中受欢迎的程度。
这两款软件都是使用 Python 语言编写的开源项目,不需要单独购买所谓的「加速包」,就可以自由的使用。其中一个项目更是在文档中放出了抢票项目的逻辑原理。
看到上面这张图,应该能让你轻松理解抢票软件的运行原理。从某种意义上来说,这些抢票软件和我们手工抢票遵循同样的操作逻辑。但为何用软件抢票就就要比手动刷票更容易买到票呢?
程序抢票代表机器更高的效率
这和网络延迟有很大的关系,如果我们使用浏览器的调试页面,尝试在 12306 网站刷票,我们可以很清楚的看到,从我们点击查询按钮到网页刷新,每次几乎都有 160ms~2s 之间的延迟。
就算我们及时点进预定页面,也经常出现需要重新登录 OR 填写验证码的情况,就算我们成功打开了订单确认界面,还需要手工勾选联系人等选项。等到你点下提交订单,车票已经被各大抢票 app 一刷而空,留给你的只有灰色的无座提醒。
但如果你使用这些抢票脚本,你只需要在抢票前打开项目配置文件,按照自己的购买意愿做好设置,就能冲杯咖啡等着电脑自动完成抢票工作了。
与人工抢票相比,抢票脚本将所有需要手动操作的东西都放在了后台进行处理,每次抢票时都不用将网站页面重新加载。只要获取  12306 服务器上的数据,就能进行订票操作,如果中途出现验证码,程序也能迅速进行机器识别。
要知道,电脑识别验证码的速度已经超过普通人的识别速度,可能只在你眨眼的瞬间,验证码就已经被识别完成,订单的确认也不需要手动处理。而这每一步节省下来的时间,都是否能拿到回家车票的关键。
机器与人之间无法逾越的速度差,就是网络售票时代,抢票程序能大行其道的核心竞争力。
唯有技术才是第一生产力
商业公司从这种技术不平等中看到了细分市场的机会,通过打造封闭的技术圈,改变了网络售票的游戏规则,从普通消费者这里拿到更多的消费者剩余。
掌控技术的程序员则利用自己的知识,制作了免费开源的软件,试图用自己的专业知识减少技术所产生的不平等,甚至通过技术获得更多竞争优势。
▲因为知识不足 脚本错误迟迟无法修复
而普通的消费者,只有两种选择,要不为技术不平等付出自己的消费者剩余。要不付出学习成本,学习新技术,用自己的时间与知识获取更大的蛋糕。
但残酷的现实是,大部分普通消费者永远竞争不过有技术或有资本的人,毕竟每个人的经历都及其有限,无法在自己擅长领域外获得优势。如果所有机会都被资本和技术拥有者垄断,必然会造成票价上天、一票难求的情况。火车作为一种国家保障的基础交通设施,是不允许出现这些情况的。
这种时刻已经到了,就在这两天,12306 官方已经封杀了一部分技术接口以限制第三方抢票软件。到底效果如何,我们可以看看各大应用市场中抢票软件的评论区,市场会给出真实的答案。



喜欢你就点个  

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存