12306票务查询

12306票务查询

一、我们要做什么?
在这里插入图片描述
我要的就是输入出发城市、终点城市、日期就能获得相应的实时车票信息。
在这里插入图片描述
二、寻找信息所在的位置
显然易见12306的网站是一个动态的网页,他们的信息都存放在了一个包里面,如下图所示
在这里插入图片描述
三、如何拿到该数据包
1、那么我如何才能拿到这个数据包呢,首先我们要知道获取到这个包要提交如下的表单
在这里插入图片描述
聪明的人都会很快知道其中的vap和shh代表着一个城市,那么我们程序首先要写的就是获取这个城市的编码。经过我们仔细的发现就能知道该城市相对应的编码存放在一个js文件里面。
在这里插入图片描述
表单中的第一个代表的是日期这是显然易见的;第二个和第三个代表的为始发站和终点站;第四个默认即可。
2.当我们做好这一切发现我们依旧无法获得该包,这是因为还需要携带cookie值才能对其进行请求。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210115130503428.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU0NDEwNDA5,size_16,color_FFFFFF,t_70
在这里插入图片描述
唯一需要注意的就是要对jc_savefromstation 和jc_save_tostation。拿一个进行说VAP是我们刚才js中得到他代表的就是北京北,%u5317%u4EAC%u5317%2代表呢也是北京北。
总结来说就是携带cookie值提交表单对包请求即可获得实时的票务信息。
四、信息的处理
在这里插入图片描述
如图所示,该段即为一个车票的所有的信息,但是前面的东西都是没有的用,我需要用正则或者split来提取到从预订之后有用的相关信息。
五、最后对数据输出
为了好看点嘛,我们可以使用PrettyTable进行输出,最后打包成exe结果图如下:
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值