编者按:本文数据采集和统计分析日期为2018年9月,部分数据特征和结论可能与春运高峰时间段不一致。
春节想胖,想去冲浪。
没有火车票怎么办?
我们一起来看看12306的数据。
放余票有什么规律吗?
这完全是性格问题
是否还有一定的规律可循?
▍十行代码带你获得超过12,306张选票。
-通过url获取网页数据
我们选择从12306网站获取数据。
这个界面大家应该都不陌生。
然后,右键点击网页的空白空-查看元素。
在网络接口中找到请求url。此URL包含剩余的机票信息。
让我们用python做一个简单的数据清理。
剩余的票证数据已成功爬网。
-使用python,构建自动抓取剩余票证的代码。
我们使用python的时间表库
构建全天候运行的数据代码。
连续获取余票数据。
由于篇幅所限,这里就不赘述了。
什么样的火车票有机会抢?
——大段有票,小区之间没票。
理论上随时都有机会抢到火车票,因为一旦有了退票系统,12306基本会实时回到余票库。
我们这里指的抢票,定义为有余票的长途车票,开车时间比较短。铁路部门单独出售长途车票是因为他们想降低空负荷率,实现利润最大化。
举个栗子:
小长假想去平遥古城玩两天,先看看火车票:
系统显示G627的二等座全部售完,只剩一个一等座。平遥古城是不是不能去了?当然不是。我们发现平遥古城不是终点站。这趟列车的终点站是运城北。
搜索北京到运城北看结果:
结果显示,北京至运城北有余票,余票99张以上。在这里,我们先大胆猜测一下。铁路部门认为全程余票卖不出去。为了降低空上座率,在开放发售尚可的情况下,会放出大量余票。接下来我们来验证一下,看看这些余票是怎么放出的。
▍大数据分析余票发售时间。
由于12306改版,余票超过20张时,不会显示具体的号码,显示为“是”。但实际上,在12306购票订单提交之前,系统还是会提示实际余票的。
但是长期登录的爬虫很可能会对账号造成不好的影响,所以建议仍然需要爬实际票数的朋友要谨慎,退一步可以选择其他网站出售,剩余票数一般可以显示到99。
非常感谢郑涛老师提供的源数据,里面包含了准确的余票信息。数据为连续七天的火车票剩余数量,采集间隔为1分钟。我们来讨论一下如何放剩余的火车票。
-不同车站的售票时间是同一趟车吗?
同一列车上,不同车站的售票时间是否相同,即售票时间是否与车站有关。为了验证这个问题,我们选取了当天D306次,对三个区间的余票进行了分析对比。
结果显而易见。我们发现三个站间的售票时间都集中在中午12点和下午18: 30,三个站间的车站没有明显的区别,也就是说这一趟列车的余票的售票时间基本上没有逐站差异。
-同一趟列车,不同日期的车票是否同时发售?
我们也以D306为例,看看D306连续三天的余票信息。
我们可以看到,虽然三天的余票不尽相同,但是每天18:25-18:30都有大量余票放出,三天的放票时间非常接近,所以D306沪宁段的放票时间在这三天是相对固定的。
这是普遍现象还是个案?我们把时间拉长,看看第7天的数据是否还符合这个规律。
从表中可以看出,答案是肯定的,不同日期D306次列车余票发售时间基本一致。让我们看看其他的火车。
此外,边肖还观察了G1252-宿州至无锡、G7072-丹阳至南京、G7244-无锡至镇江等20趟列车同一区段当日余票的发售情况,发现上述20趟列车的发售时间也有相对固定的时间。
-那么,我们多早可以抢到剩余的票?
我们把这20趟列车的“发车-放行时间”做个直方图,看看有没有规律。
根据以上数据,每趟列车的放票时间不尽相同,但我们发现了两个数据非常密集的区段,分别是开车前7小时(420分钟)和开车前1小时(60分钟)。我们可以在实际抢票过程中重点关注这两个时间段。
我们来看一下这20趟列车每天的放票时间差,做一个箱线图,发现大部分列车在不同日子的放票时间差都很小,这和我们之前个别数据的规律基本一致。
总结与展望
1.通过对这一样本数据的分析发现,车辆余票发售时间与车站没有直接关系,而是随车票而异。
2.较大区间有较多余票时,小区间出票时间相对固定。这个时间是存在的,只是随车次不同而不同,不受12306网站停运的影响。在大多数情况下,它不是整点的。比如上午9: 00发车的D3022,会在凌晨2: 00左右放票,在确认大区间有票的情况下,提前7小时和1小时观察列车的放票情况,发现车辆放票时间的概率较大。
3.余票分析仅限于当天9-24小时列车的放票分析,势必有一定的局限性。由于预售期现在是30天,边肖将继续关注。有了更完整的放票攻略,我们会及时分享给大家!
我想要一次徒步旅行。
还有哪些抢票的小技巧?
1.12306每天早上6: 00开始售票,无论是这个列车晚上放余票的固定时间,还是火车站有人退票改签,早上6: 00都是网络售票的开始时间,可以抢到昨晚累积的余票。
2.关于第三方抢票软件,我想分享一下自己的经验。为了让乘客购买流量叠加套餐,软件会显示区间抢票人数,热门线路有上千条。你在哪里?当然,第三方软件也帮我抢到了不少火车票。抢票软件的好处是非常节省时间。但在一些热门线路,边肖亲身体验了软件不抢票,手动抢票的体验。
3.先说两个与技术无关的纯体验。第一,高铁短距离买票,短间隔还有票,长间隔基本没票,可以采取上车补票的措施。
4.跨区间购票,很明显本科期间苏杭实习回北京,苏州到北京的卧铺票基本没有,反而大家都买上海到北京的区间,价格差不多的时候,也可以考虑跨区间购票。