12306票务查询
一、我们要做什么?

我要的就是输入出发城市、终点城市、日期就能获得相应的实时车票信息。

二、寻找信息所在的位置
显然易见12306的网站是一个动态的网页,他们的信息都存放在了一个包里面,如下图所示

三、如何拿到该数据包
1、那么我如何才能拿到这个数据包呢,首先我们要知道获取到这个包要提交如下的表单

聪明的人都会很快知道其中的vap和shh代表着一个城市,那么我们程序首先要写的就是获取这个城市的编码。经过我们仔细的发现就能知道该城市相对应的编码存放在一个js文件里面。

表单中的第一个代表的是日期这是显然易见的;第二个和第三个代表的为始发站和终点站;第四个默认即可。
2.当我们做好这一切发现我们依旧无法获得该包,这是因为还需要携带cookie值才能对其进行请求。

唯一需要注意的就是要对jc_savefromstation 和jc_save_tostation。拿一个进行说VAP是我们刚才js中得到他代表的就是北京北,北京北%2代表呢也是北京北。
总结来说就是携带cookie值提交表单对包请求即可获得实时的票务信息。
四、信息的处理

如图所示,该段即为一个车票的所有的信息,但是前面的东西都是没有的用,我需要用正则或者split来提取到从预订之后有用的相关信息。
五、最后对数据输出
为了好看点嘛,我们可以使用PrettyTable进行输出,最后打包成exe结果图如下:
