查询火车票余额的脚本

由于12306网站经历多次更新,并加入了验证码机制,现本文内容已经完全过时。

又到一年春运时,铁道部的www.12306.cn也终于正式上线了,这个网站的最大亮点在于可以查询火票余票票额。根据之前未非式开放时大家测试的结果,虽然查询结果不是实时的,但这个网站的数据还是有比较强的参考价值的。

随手涂鸦了一个BASH脚本,用于在Linux命令行下通过这个网站查询火车票票额,放在GitHub上。有兴趣的朋友可以拿来用用。免费版的GitHub是一个公共GIT仓库,所以也欢迎任何人继续涂鸦和改进这个脚本(当前的代码Just works,但很smelly)。

脚本的代码可以在这里直接下载:http://github.com/lifanxi/train-query.git/train.sh

简要的使用说明在:http://github.com/lifanxi/train-query.git/README

其实核心代码只有一句:

curl http://dynamic.12306.cn/TrainQuery/iframeLeftTicketByStation.jsp
-d lx=00 -d nyear3=$YEAR -d nyear3_new_value=true -d nmonth3=$MON
-d nmonthe3_new_value=true -d nday3=$DAY
--data-urlencode startStation_ticketLeft=$START
--data-urlencode arriveStation_ticketLeft=$TO
-d nday3_new_value=true
-d startStation_ticketLeft_new_value=true
-d arriveStation_ticketLeft_new_value=true -d trainCode=$TRAINCODE
-d trainCode_new_value=true -d rFlag=1 -d name_ckball=value_ckball
-d tFlagT=T -d tFlagZ=Z -d tFlagDC=DC -d tFlagK=K -d tFlagPK=PK
-d tFlagQT=QT -m 10 2>/dev/null |
grep -v "//" |
grep addRow > $TMPFILE

试图把脚本放到Windows上可用,试了一下win-bash,不行,算了,Windows下喜欢脚本的人应该不多。实在要用的,估计用Cygwin可以。

查询火车票余额的脚本》上有3条评论

  1. 老大,脚本的代码现在下载不了了啊。
    That page doesn’t exist!
    简要的使用说明也没有了

  2. @dayu
    github改版过,所以链接都不对了。

    项目页面和说明在:http://github.com/lifanxi/train-query
    直接下载脚本可以在:http://github.com/lifanxi/train-query/raw/master/train.sh

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据