12306.cn车次字段分析刍议

前几日,我阅读了Jamuk piugn关于12306车次数据抓取的文章,其思路颇具启发性,但仍有几个细节值得深入探讨。

一、列车车次编码规则概述

早在1996年,为提升客运服务质量和满足旅客需求,原铁道部便决定在主要干线和大站推行电子售票系统。此系统的初步实施范围覆盖了京广、京沪、京哈三大干线及其沿线快车停靠站,以及全国43个大型客运站。这一系统基于铁科院客票总体组发布的《铁路车站电子售票应用系统主要技术规定》构建,并最终演变为我们今天所熟知的中国铁路客票发售与预订系统(简称TRS)。

在《技术规定》中,车次编码被定义为6位字符型数据,包含列车始发地分局码、始发车次、多到站标识码以及新旧运行图标识码等元素。例如,车次代码“24000K101704”中,“24”代表始发区域(北京),“000K1017”为始发站车次,“0”表示多到站标识,“4”则代表第4版本运行图。

二、列车种类数据维护中的误区

在分析12306返回的数据时,我们发现几个问题:首先,部分列车车次信息并不完整,如市郊列车等未在12306平台上显示的车次无法被捕获;其次,一些车站如黄土店、八达岭等,因仍办理非联网列车客运业务,容易被错误分类为“客运取消或暂停”车站;最后,市郊列车的种类有时被误归为“快速”,需要人工进行校正。

三、解析返回字符串中的信息

我们通过发送查询请求到12306网站,并截取了返回的数据进行分析。以2020年8月2日图们站的列车数据为例,经过整理后,我们能够识别出一些关键字段及其含义。为了验证这些判断,我们又对北京东站和山河屯站的数据进行了类似的分析。

在分析过程中,我们发现“same_city_code”字段可能代表通查车站(即联合站代码)。这一发现是基于对北京东站与牛栏山(同城不通查)和清河(通查不同城)站点的数据比较得出的。

然而,仍有一些字段如“update_arrive_time”、“update_start_time”、“city_code”和“display_station_no”等,在大部分情况下都是空的,对于数据抓取似乎帮助不大。关于“seat_types”字段,即席别信息的判断,Jamuk piugn在私信中提出了如何识别特定席别(如“垃圾桶”席别)的问题,这将是我们后续研究的重点。

所提及的已确定字段及其含义,请读者自行整理对照。如有需要,可参考相关文档进行深入研究。

12306.cn车次字段分析刍议-有驾
0

全部评论 (0)

暂无评论