当前位置:主页 > 网页传世 > 正文

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

2020-01-05

每年春运,都是人类史上规模最大的迁徙潮。新一轮的春运抢票大战早已打响,在这场人多票少全凭运气的战争中,买到票的人万事大吉,没抢到票的大部分寄希望于黄牛和各种各样的抢票神器。

快速、高速、极速、光速抢票, 10个加速包、20个加速包、50个加速包,为什么还是抢不到那一张票?

抢票软件工作流程

抢票软件是如何工作的?从技术上看,抢票软件所做的工作就是数据抓取,它还有一个更加通俗的名字——数据爬虫

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

假设Alfred想要手动买一张从广州回贵阳的票,用手机打开了12306APP,查询有没有票,此时Alfred的手机会向12306的服务器发出一个请求,服务器接收到之后产生响应,把所查询的数据返回给手机,手机把数据显示给Alfred,如果还有票,便填写个人信息购买,手机会把这些信息提交给12306服务器进行订票;如果没有票,Alfred便需要一直手动刷新,直到有票,每刷新一次,就完成一次请求和响应的流程。

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

手动购票流程

抢票软件的工作流程,跟手动购买底层的流程大同小异。

通过手机提交抢票需求后,手机会先把这个需求发给抢票软件服务器,由服务器程序向12306服务器发出余票数据请求,12306响应并把数据发回,没有余票时,程序可以自动不断向12306网站请求数据,把我们的时间解放出来,直到余票出现后自动提交个人信息进行预订。

加速包导致“囚徒困境”

从流程上看,这其实是一件好事——我们可以不用手动刷新。直到加速包的出现。某抢票神器有低速、快速、高速、极速、光速5个等级的加速,分别对应不同的购买金额和成功率。假如有200人使用该神器购买广州到贵阳的车票,而抢票神器能抢到全部退票20张。人们对于回家的愿望越强烈,购买的加速包等级就越高,可以在这个等票长龙中排到越前面

如果100人购买了最高等级加速包,那这20张票自然就优先分配给这100人中的20人。这个过程中,抢票软件获得了1000元加速费,20个购买了光速加速包的人获得了高于定价50元的车票,80个人把自己原来10%的购票成功率提升到了理论上的20%,最后还是没有买到车票,剩余100个人的购票成功率从没有抢票软件的10%降到了0%。可见购买高级加速包的人越多,抢票成功率越低,并趋近于不使用抢票软件的10%,陷入所谓的“囚徒困境”,抢票神器从中获利

抢票神器鉴别难上加难

既然这样,12306为什么不把这些抢票神器全封了呢?

技术上还就真的封不了。要封禁抢票神器,就必须甄别出哪些数据请求是人为操作的,哪些是抢票软件服务器程序发出的。不管是APP、浏览器还是抢票软件服务器,向12306服务器请求数据时都需要提供自己的设备信息、IP地址等,如果12306服务器发现来自同一设备、同一IP的请求特别频繁,比如说一秒钟10次,超过了正常人的频率,服务器就可以对这个IP进行封禁。

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

可是设备信息和IP都是可以通过程序伪装的,专业的抢票软件有多台服务器、数以万计的代理IP,只要每次请求时换一个设备信息和IP地址,便能顺利瞒天过海。另一方面,网站还需要小心不要把一直用手机刷新余票、有同样频繁访问模式的真人封掉,甄别抢票神器便难上加难。这过程其实就是数据爬虫和反爬虫的博弈

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

全国人民喜迎候补购票服务

好消息是,12306网站和APP推出了候补购票服务试点

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

如果暂时没票的话可以进入候补行列,等到有人退票的时候优先进行预订,保证了候补购票的人始终比抢票神器优先买到票,而且不用交加速费。

在官方开售时间点前就提交了个人信息进行抢票,如果没有抢到,抢票软件会自动提交个人信息进行候补购票,这时候理论上速度是比手动候补购票快的。但是如果候补购票只能候补到10张票,然而有100个人提前使用了抢票软件进行自动候补,,那么就还是陷入了囚徒困境的循环。

在官方开售之后,已经没有余票了,但是12306的“候补购票”功能还能用(也就是在12306还是能提交候补购票的),这时候使用12306或者抢票软件进行候补购票,理论上速度是没有差别的(可能在抢票软件端还需要再输入提交自己的12306账号,会更慢一些),差别在于:使用12306不用加速费(12306的候补购票功能,主要价值在此)。

但也有人表示了担忧:在票售空后,12306的候补购票需要手动提交个人信息。抢票软件也可在票售空后,迅速提交个人信息至候补购票处。这样一来,手动候补购票不是排在抢票软件之后了嘛?那抢的到票吗?

这种情况下,就取决于提交个人信息进行候补购票的时机。具体分三种情况:

技术贴:抢票神器和加速包真的有用吗?用的人越多就越没用

在官方开售时间点前就提交了个人信息进行抢票,如果没有抢到,抢票软件会自动提交个人信息进行候补购票,这时候理论上速度是比手动候补购票快的。但是如果候补购票只能候补到10张票,然而有100个人提前使用了抢票软件进行自动候补,那么就还是陷入了囚徒困境的循环。

在官方开售之后,已经没有余票了,但是12306的“候补购票”功能还能用(也就是在12306还是能提交候补购票的),这时候使用12306或者抢票软件进行候补购票,理论上速度是没有差别的(可能在抢票软件端还需要再输入提交自己的12306账号,会更慢一些),差别在于:使用12306不用加速费(12306的候补购票功能,主要价值在此)。

在官方开售之后,已经没有余票了,并且12306的“候补购票”功能也不能用了(也就是12306显示候补购票的人太多/已满,不能候补了)。这时候再分两种情况: