一年一度的买火车票活动热烈开始啦。
 
我家今年总算通火车了。有一趟T155直达,从北京开回去12个小时。
 
先是在老姚的网页上看到什么24号以后的火车票都没有了,吓了一跳。后来才明白是Z字头的。
 
在036花了两块钱订阅了一下,开始关注火车票放票情况。但是没功夫每天刷网页,所以写了一个脚本每10分钟去网站抓余票的情况,并且发现了一些规律,嗯。继续跑着,看看以后有什么动向。
 

从昨天中午(1/10)开始跑的,当时第二天(1/11)的票还有21张,第三天(1/14) 17张,而第四天(1/13)只有1张!

  <p>
    下午2点的时候第三天和第四天的都买完了,第一天还有16张。
  </p>
  
  <p>
    下午5点,全部票都是0。
  </p>
  
  <p>
    下午6点,第二天的票出了9张,很快就卖完了。
  </p>
  
  <p>
    晚上9点20分,第二天的票出了19张——我怀疑不是第二天,而是第三天的,当时没有记录是哪天的,估计已经开始卖第五天的票了吧?到午夜12点,这个第二天的票还多了出来,剩余25张!
  </p>
  
  <p>
    过了12点,肯定的,日期往后挪了一天。这时的四天(1/14)出了79张票。卖到今天早上9:40还有37张,到11点半卖光。一下午都是0 0 0。
  </p>
  
  <p>
    不知道今天下午几点放票?等待中……
  </p>
  
  <p>
     
  </p>
  
  <p>
    右面是记录,列的意义:
  </p>
  
  <p>
    查询时间 发布时间
  </p>
  
  <p>
    接下来三个表示发布的哪三天的余额
  </p>
  
  <p>
    接下来三个数字表示这三天的余额(硬卧)
  </p>
</td>

<td>
  <div style="overflow-y:scroll;height:350px">
    01/11/09:52 09:50 01/12 01/13 01/14 0 0 26<br />01/11/10:02 10:00 01/12 01/13 01/14 0 0 29<br />01/11/10:12 10:10 01/12 01/13 01/14 0 0 22<br />01/11/10:22 10:20 01/12 01/13 01/14 0 0 20<br />01/11/10:33 10:30 01/12 01/13 01/14 0 0 18<br />01/11/10:43 10:40 01/12 01/13 01/14 0 0 11<br />01/11/10:53 10:50 01/12 01/13 01/14 0 0 3<br />01/11/11:03 11:00 01/12 01/13 01/14 0 0 1<br />01/11/11:13 11:10 01/12 01/13 01/14 0 0 1<br />01/11/11:23 11:20 01/12 01/13 01/14 0 0 2<br />01/11/11:33 11:30 01/12 01/13 01/14 0 0 1<br />01/11/11:43 11:40 01/12 01/13 01/14 0 0 0<br />01/11/11:53 11:50 01/12 01/13 01/14 0 0 0<br />01/11/12:03 12:00 01/12 01/13 01/14 0 0 0<br />01/11/12:13 12:10 01/12 01/13 01/14 0 0 0<br />01/11/12:23 12:20 01/12 01/13 01/14 0 0 0<br />01/11/12:33 12:30 01/12 01/13 01/14 0 0 0<br />01/11/12:43 12:40 01/12 01/13 01/14 0 0 0<br />01/11/12:53 12:50 01/12 01/13 01/14 0 0 0<br />01/11/13:03 13:00 01/12 01/13 01/14 0 0 0<br />01/11/13:13 13:10 01/12 01/13 01/14 0 0 0<br />01/11/13:23 13:20 01/12 01/13 01/14 0 0 0<br />01/11/13:33 13:30 01/12 01/13 01/14 0 0 0<br />01/11/13:43 13:40 01/12 01/13 01/14 0 0 0<br />01/11/13:53 13:50 01/12 01/13 01/14 0 0 0<br />01/11/14:03 14:00 01/12 01/13 01/14 0 0 0<br />01/11/14:13 14:10 01/12 01/13 01/14 0 0 0<br />01/11/14:24 14:20 01/12 01/13 01/14 0 0 0<br />01/11/14:34 14:30 01/12 01/13 01/14 0 0 0<br />01/11/14:44 14:40 01/12 01/13 01/14 0 0 0<br />01/11/14:54 14:50 01/12 01/13 01/14 0 0 0<br />01/11/15:04 15:00 01/12 01/13 01/14 0 0 0<br />01/11/15:14 15:10 01/12 01/13 01/14 0 0 0<br />01/11/15:24 15:20 01/12 01/13 01/14 0 0 0<br />01/11/15:34 15:30 01/12 01/13 01/14 0 0 0<br />01/11/15:44 15:40 01/12 01/13 01/14 0 0 0<br />01/11/15:54 15:50 01/12 01/13 01/14 0 0 0
  </div>
</td>

Code

while true; do
curl http://www1.036.com.cn/ticket/mesgShow2 \
--trace d.txt \
-r 'http://www1.036.com.cn/ticket/mesgShow2' \
-d 'funName=QueryLeftTrain&funNo=33&condition=T155++&cc=T155++&dz=%C9%CF%BA%A3' \
-A 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)' \
-b 'short_name=iwantmilk; sn=aaeb1a486f027048cef81b187bc60e2d; crcCodeCook='`cat crc` 2>/dev/null > x.html
date +%m/%d/%H:%M > tmp
grep red x.html | awk -F'<' '{print $3}'|awk '{print $3}' >> tmp
grep 2006/01 x.html |grep colspan|sed 's/.*>2006\/\(.*\)<.*/\1/g' >> tmp
grep 'td align' x.html |sed 's/.*>\([0-9-].*\)<.*$/\1/g'|grep -v td|grep -v 18:18 | xargs echo | awk '{print $2, $7, $12}' >> tmp
cat tmp |xargs echo
sleep 600
done