技术宅---我的网上抢火车票攻略

article/2025/8/22 10:54:23

写在前面

     写这篇文章的起因是今天在12306上买火车票时,被这牛逼的网站给震撼到了,靠,牛叉得让人无语的用户体验啊。就讲讲我是如何利用一个小工具做辅助,幸运地抢到了回家的卧铺票的。希望能给有需要的兄弟们做个参考。

    回顾下我今天网上购票的全过程,总结起来有四个难关,第一是登陆,第二是预定,第三是提交订单,第四是支付。本文的目的主要是为了在第一和第二关提供一些帮助。

准备工作:

1firefox浏览器

2,油猴脚本扩展GreaseMonkey

(有园友反映这里看不懂啥意思,好吧,特别补充一段。GreaseMonkey是一个firefox扩展,当然,别再问我啥是扩展了,请自行google,简单说,就是装了这个扩展,就可以再它基础上跑一些js脚本,对页面做一些修改什么的。。。,)

     先去这个页面下载扩展,https://addons.mozilla.org/zh-cn/firefox/addon/greasemonkey/

下载到本地的是一个xpi文件,将其拖拽进firefox里面,就可以完成扩展的安装,重启firefox以后就生效,启用了GreaseMonkey

3,去这个页面安装12306 train ticket buyer脚本,http://userscripts.org/scripts/show/122334

(完成第二步以后,就可以直接在firefox里打开上述链接,页面上会有一个”Install”按钮,单击后就完成了脚本在油猴里的安装了)

     下面我们就开始体验购票的整个流程吧。在firefox浏览器里安装好上面的油猴脚本后,首先打开登陆页面,http://www.12306.cn/mormhweb/kyfw/,这时你就会发现页面上出现了下面这个设置区域

如果你没看到,请记得去确认下GreaseMonkey扩展是否已经启用,就在地址栏最右边那个小猴子,记得点亮它,嘿嘿。

         Ok,再来介绍下这个脚本的功能,它对我们闯第一,二关有一定的辅助功效,功能1:登录助手(自动填充用户名密码,验证码输入框自动获得焦点,无需碰鼠标即可输入验证码回车重复登录);功能2:自动查询车票(根据用户事先配置的始发到站信息,自动查询)

         先说说第一关---登陆,每天整点放票的时候,想登陆进去真是难如登天,每次都会弹出下面这个让人泪流满面的窗口,尼玛连个登陆进去的机会都不给啊。。。

 

更可恶的是,如果你用IE浏览器的话,密码会清空,鼠标焦点也没有选中在任何一个输入框,你不得不鼠标移到密码框,重输密码,再验证码,再鼠标单击“登录“,如果你用的是firefox呢,情况稍微好点,起码密码可以帮你保存,可还是上面的鼠标动作免不了。

大家懂的,这时候,速度就是一切,差之毫厘,失之千里,省下那么一点点鼠标操作的时间,你就比别人多了几次登录的机会啊。

    这就是上面那个油猴脚本能帮到你的地方了,安装了以后,你会发现,登录时,你只需要使用键盘进行操作,就两个动作,输入验证码,回车,如果失败,再次回车干掉弹出框,此时鼠标焦点依旧在验证码那,继续输入验证码,回车,。。。。只要你键盘操作够快,此时的你绝对是正常登录操作的好几倍啊,有么有?哈哈

    Ok,千辛万苦终于爬进系统里头来了,下一关就是预定,这个脚本在这里还是继续可以帮到你一点点的。

    如果不用上面这个脚本的话,正常的操作流程是自己填写出发站点和到达站点,出发日期,点击“重新查询“按钮,完了你发现没票,囧了,又重新填一遍信息,再点,还是没票,又来一遍?

这时候上面的油猴脚本就可以帮我们做这种无聊的重填信息动作了,上面我们不是设置了出发站点和到达站点,出发日期嘛,这些信息就是脚本用来在车票查询的时候自动重填的,

 

你现在只管不断地点“重新查询“按钮,期待着宝贵的车票出现,然后你懂的,剩下的预定是否成功,订单是否提交成功,支付是否能完成,那就只有老天爷知道了。。,

      当然,登陆不进,进去了又被踢下线,502 Bad Gateway,这些问题就无语了,没办法,只有不断的重试,重试,再重试,关键时刻还得拼人品,拼运气的。

      此外,网上有文章介绍如何用firebug修改html页面上的参数值,然后在提交页面来快速下订单的教程,见《网友提供Firefox+扩展 15秒网上快速预定火车票教程》,但我也试了,基本用处不大,能否提交订单成功,真的是只有上帝才知道,我基本都卡在这里,眼看着有票,可订单死活提交不上去。。。 

     但起码这个脚本可以让我们节省出不少的时间,在这全民抢票的时代,时间就是机会,时间就是金钱啊,心动了么?赶紧照着我这个教程试试吧。

    最后,再推荐一个Chromium下的脚本,我使用的是Chromium 16 

      1,首先在Chromium中打开下述链接,安装12306 auto query脚本。

https://gist.github.com/raw/1554666/dec45c925002ec23ccef9f5be14770572d27625c/12306.user.js

      2,登陆到12306,选择“车票预订”,填写好信息后进行一次查询后,就会看到下面的画面。 

  

      程序是会自动查询,当有票时会会高亮有票的车次。在查询期间你可以做其他事情,但要保持标签页开启(是否是当前标签页无所谓)。注意:1) 只在 Chromium 上调试过。2) 不支持自动订票,有票后请手工操作。

      这个脚本最有用的地方在哪里呢?有时候你查询车票的时候,会显示一张票都没有了,但是请不要绝望,因为还是有一点点希望的。因为有人会退票,或者是有些人会因为支付失败,超时等原因,系统会把票重新收回,这时候这个脚本就给力了,你可以比别人快一步看到这些珍稀资源,当你看到那红色高亮的“一条杠”的时候,该怎么做,你懂的。。。。 

      另外,再附带吐槽一下,这系统里的硬座票和无座票是统一归在“硬座票”里的,因此,当你看到页面上显示硬座还有票的时候,请别高兴得太早,很可能你支付完成后就发现,你拿到手的居然是“无座票”,这坑爹的玩意。。。,

      还有就是,一定要同时使用多个浏览器,甭管什么IE啊,Firefox啊,Chrome啊,总之能整上的都给它整上。。。在每个浏览器上都去登陆,上去了之后,就是一个字---刷,甚至你还可以制定相应的策略,分车次,分站点来刷,总而言之,就是拼命刷之,别让12306后台系统那帮龟孙子闲着。。。

     最后,可能有人会问那最后一步支付咋办呢?难不成要重新换IE登陆上了,在限时的45分钟内去用网银来完成支付么?很可能是一去不复返了。。。其实,在firefox和chrome下也是可以完成支付的,如果你有招商银行,那么支付时就可以使用手机支付来搞定的。只要是非IE浏览器登录时,默认会定位到手机支付页面 

 

哈哈,反正我今天是坚持不懈的斗争,终于抢到了一张回家的卧铺票,一点小经验,不敢独享,拿出来给大家分享,咱技术宅买个票就得像打仗一样,仔细研究对手,做好一切能做的准备,打持久战,不是么?

 


http://chatgpt.dhexx.cn/article/KZp1Mr3o.shtml

相关文章

初学者怎么学java编程 ,小白们看过来吧

推荐一个java《学习》交流 群523401738每天晚上都有一个Java技术学习课,会有老师分享干货,帮助大家分析解答问题 一、java分为三大方向: CS架构(java se)。BS架构(java web)。java手机开发(java me&#…

自学 Java 怎么入门?

自学会碰到的问题 自学可以省不少的钱, 可是自学会碰到很多问题。 我再自学的过程中找到了一个Java自学的网站(Java全栈工程师 | 以实例驱动学习 | how2j.cn),试图解决一些自学中会碰到的问题。 1. 框架、思路、原理 一下子涌进来太多,弄不明…

Java 技术新手入门

Java 技术新手入门 什么是 Java 技术?Java 技术为什么重要?什么是 Java 组件技术?Java 技术如何与 Web 服务联系起来?如何提高 Java 编程技巧?Java 编程人员可以使用哪些 IBM 工具和产品? developerWorks J…

java基础编程入门教程,2022最新

Java学习到什么程度可以找第一份工作自己买了本Java从入门到精通。以为可以很快地学完,非CS专业。现在我想说所有系列的从入门到精通都是垃圾,一年多来,我每天白天看视频,晚上敲代码到凌晨,我是一个很倔的人,我认为天下没有任何东西是人类学不会的,所以我就付出高三一样的时间去…

新手小白入门编程第3讲 JAVA入门案例

1 HelloWorld案例 1.1 工作空间设置 工作空间就是一个文件夹,用来保存我们所有的开发文件和代码等等. 工作空间也是可以切换的,但是切换了工作空间,我们对于eclipse的设置就重置了. 后续我们自己写的代码可以去这个位置找到.可以如下图,选择工作空间的存放目录 1.2 eclipse…

Java编程学习入门、Java语言学习、Java入门必看

一、初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮》起床》洗漱》出宿舍》》吃早餐》到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 2.计算机中的程序: 一组有序指令的集合,需要和计算机交流就要使用计算机语言,ja…

关于1970年之前的时间要怎么转换成时间戳啊 负数要怎么处理

在这里有的人可能有疑问? 大家都知道java时间戳是从1970年1月1日0时0分0秒开始计算的,那么假如1960年的时间戳应该是多少呢? 下面是答案,负数,通过负数一样可以转化成正常的时间 年月日。 -3026880001960-05-30 00:00

moment.JS时间戳转换总是1970年问题

把时间戳 ✖1000 即可解决 例子moment(date * 1000).format(‘YYYY-MM-DD’); 还可以这样

mysql查询1970年以后出生的人_阴阳五行分析:1970年出生的人是什么命?

农历1970年出生的人属狗,此年出生的人不应好高骛远,把握当下幸福的生活。我们常说“听天由命”,所谓的命运早就已经刻画在了你的五行中,五行算命也就有迹可循。 那么,本期一起来看看1970年出生的人是什么命&#xff1f…

mysql 日期 1970_Mysql中处理1970年前的日期(unixtime为负数的情况)负数时间戳格式化...

客户扔过来一个bug,说是一个系统中对42岁以上的人的统计不正确,而41岁以下的人没有问题。眼睛瞟了一下托盘区里的日期,2012年3月26日,嗯,今年42岁的话,那么应该就是出生在1970年左右,马上就把问…

C语言里的fabs()和sqrt()的含义

fabs()其实是指绝对值&#xff0c;例如fabs(a)就是指a的绝对值&#xff0c;在程序中使用的时候需要包含头文件<math.h>。而sqrt()是指开根号&#xff0c;例如sqrt(a)就是指根号a。 举个例子&#xff1a; 假如从键盘任意输入a&#xff0c;b&#xff0c;e的值&#xff0c;编…

求绝对值指针c语言,C语言实现abs和fabs绝对值

C语言 abs() 函数用于求整数的绝对值。 头文件&#xff1a;math.h 或者 stdlib.h 语法/原型&#xff1a; int abs(int n); n 表示要求绝对值的数。 返回值&#xff1a;参数的绝对值。 【实例1】使用 abs() 函数求整数 3 和 -4 的绝对值。 #include #include int main() { int a…

c语言中fabs是什么意思,c语言fabs是什么意思_后端开发

C语言sqrt函数的用法_后端开发 C语言中sqrt函数用于计算一个非负实数的平方根&#xff0c;使用时需要在头部引入math.h文件&#xff0c;用法示例&#xff1a;sqrt(25)&#xff0c;程序将返回5。 c语言fabs是什么意思&#xff1f; fabs函数是一个求绝对值的函数&#xff0c;求出…

c语言中fabs是什么意思,c语言fabs是什么意思

c语言fabs是什么意思&#xff1f; fabs函数是一个求绝对值的函数&#xff0c;求出x的绝对值&#xff0c;和数学上的概念相同&#xff0c;函数原型是extern float fabs(float x)&#xff0c;用法是#include 。 推荐学习&#xff1a;c语言视频教程 fabs()函数的声明&#xff1a;d…

c语言fabs函数的返回值,fabs()函数

fabs函数是一个求绝对值的函数&#xff0c;求出x的绝对值&#xff0c;和数学上的概念相同&#xff0c;函数原型是extern float fabs(float x)&#xff0c;用法是#include 。 C语言中fabs()函数&#xff1a; (1)描述&#xff1a;C库函数double fabs(double x) &#xff0c;返回浮…

CSS overflow 属性(琐碎知识点整理)

本文详细的介绍了 CSS overflow 属性的 ‘定义和用法’ ‘属性效果’ 废话不多说, 直接上代码以及图例 (为了让大家方便阅读, 都有自己验证过程的一些图片作为分享) 。 一. overflow 定义和用法: 1. overflow 属性规定当内容溢出元素框时发生的事情 。2. 这个属性定义溢出元…

CSS 处理溢出 overflow属性

在CSS中&#xff0c;如果设置了一个盒子的宽度与高度&#xff0c;则盒子中的内容就可能超过盒子本身的宽度或高度。此时&#xff0c;可以使用 overflow 属性来控制内容溢出时的处理方式。 overflow属性的可选值有 visible | hidden | scroll | auto&#xff0c;除了body 和 te…

text-overflow属性的使用

text-overflow属性的使用 text-overflow属性规定了当文本溢出包含元素时所发生的事情。 取值&#xff1a; 当遇到标题过长&#xff0c;影响页面效果的情况时&#xff0c;text-overflow属性发挥它的作用&#xff0c;如下图所示&#xff1a; 重点&#xff1a; 利用text-overflo…

CSS中overflow属性介绍

原文地址&#xff1a;http://blog.sina.com.cn/s/blog_51048da701017yyp.html overflow属性规定当内容溢出元素框时发生的事情&#xff0c;有四个参数&#xff0c;分别是&#xff1a; visible&#xff1a;内容不会被修剪&#xff0c;会呈现在元素框之外&#xff0c;这是默认的值…

CSS的overflow属性简析

overflow定义:设定如果内容溢出元素设定范围后该怎么做. overflow:visible;默认属性,就是毫不作为,让内容跑到元素外面去.overflow:hidden;常用属性,超出的部分给他隐藏了.overflow:auto;常用属性,父元素中内置滚动条来处理,根据内容的具体宽高生成上下或左右滚动条.overflow:…