简介
年关将近,看到此图未免一声长叹,惆怅不已。API中国将深挖可怕的12306网站,公布尽可能多的接口,希望某当世才俊能开发出一款能造福我朝的购票助手软件,定受无量加持……
扯远了,扯回来。
使用12306网站的接口,查询余票。此接口采集自这里。
Demo
注:Demo中查询日期为2013-1-1,从 北京 到 上海 的车次。如果您点击此Demo时,日期已超过此时间点,肯定是没有数据的,请自行按照下面的参数详解自行修改。
接口类型
HTTP(GET) / UTF-8
接口返回值
json
返回数据的主体是一段HTML,需要自行解析,获取其中的数据。
参数详解
-
method=queryLeftTicket
常量,表示余票查询。
-
orderRequest.train_date=2013-1-1
指定要查询的日期。
-
orderRequest.from_station_telecode=BJP
起始站代号,所有车站的代号字典,见文后附件“station_name.js”。
-
orderRequest.to_station_telecode=SHH
终点站代号,同上。
-
orderRequest.train_no=
指定要查询的车次代号,Demo中为了展示的数据多一点,所以此参数为空。
需要使用此参数的Dev请关注12306系列后续文章,明日即将发布。
-
trainPassType=QB
指定要查询列车的PassType(实在不好用中文表达)。
枚举:QB(全部),SF(始发),GL(过路)。
-
trainClass=QB#D#Z#T#K#QT#
指定要查询列车的类型,使用#连接多种车型。
枚举:QB(全部),D(动车),Z(Z字头),T(T字头),K(K字头),QT(其他)。
-
includeStudent=00
指定查询类型。
枚举:00(查询),0X00(学生团体查询),1F(农民工团体查询)。
-
seatTypeAndNum=
指定要查询的座位类型(无座/硬座/硬卧/软卧)与数量。
被采集页未使用此参数,为空即可,若在后续深挖中对此参数有更多了解,将会补充相关信息。
-
orderRequest.start_time_str=00:00--24:00
指定乘车时间区间。
枚举:00:00--24:00,00:00--06:00,06:00--12:00,12:00--18:00,18:00--24:00。
备注
接口中有些参数的值包含URL关键字,如:#。需要将其转义为:%23。
附件
全国火车站代号字典:station_name.js
该字典用js保存,数据结构如下:
var station_names ='@bjb|北京北|VAP|beijingbei|bjb|0';
其中的大写字母VAP即是车站代号。
附赠一款接口测试工具,可在此工具中模拟HTTP GET/POST。猛戳这里下载
简介
使用12306网站的接口,查询余票。此接口采集自这里。
Demo
URL:http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAction.do?method=queryststrainall
Data:date=2013-1-1&fromstation=BJP&tostation=SHH&starttime=00:00--24:00
CoontentType:application/x-www-form-urlencoded
这个Demo是HTTP POST请求,不能直接在网页中查看效果,需要用到文后附件中的测试工具查看效果。
接口类型
HTTP(POST) / UTF-8
接口返回值
json
参数详解
-
method=queryststrainall
常量,表示车次查询。(此参数为get参数)
-
date=2013-1-1
指定要查询的日期。
-
fromstation=BJP
起始站代号,所有车站的代号字典,见文后附件“station_name.js”。
-
tostation=SHH
终点站代号,同上。
-
starttim=00:00--24:00
指定乘车时间区间。
枚举:00:00--24:00,00:00--06:00,06:00--12:00,12:00--18:00,18:00--24:00。
附件
全国火车站代号字典:station_name.js
该字典用js保存,数据结构如下:
var station_names ='@bjb|北京北|VAP|beijingbei|bjb|0';
其中的大写字母VAP即是车站代号。
附赠一款接口测试工具,可在此工具中模拟HTTP GET/POST。猛戳这里下载
简介
轰轰烈烈产绝人寰的春运抢票狂潮已接近尾声,API部门挖掘到一款开源的“12306在线订票助手”的开源项目。
内含完整的从验证码识别、登录、查询、自动下单的功能——只可惜随着12306网站的不断更新,该软件目前已不能正常使用了。
但是源码中所包含的API与流程还是有极大的参考价值的。
Demo
项目主页:http://jelly2013.codeplex.com/
项目语言:C#
.Net版本:2.0
项目状态:已停止维护
http://www.devapi.org/12306-Search-Surplus-Ticket.html