文章地址 :
12306抢票脚本开发(一)提纲
12306抢票脚本开发(二)解析火车站代号并分析查询的HTTP请求
12306抢票脚本开发(三)实现一个简单的查询脚本
12306抢票脚本开发(四)完善上节课的代码并面向对象
12306抢票脚本开发(五)更友好的使用方式
12306抢票脚本开发(六)更友好的时间输入方式
12306抢票脚本开发(七)将前几节课的成果结合起来实现一个完整的工具
简介 :
分析一下 12306 火车票的购票逻辑 , 然后写一个自动查票或者能自动购票的脚本
并加入邮件通知或者短信通知的功能(收费)
简单分析了一下 , 这个系列应该会根据下面的提纲来出博客
1. 列一个提纲
1. 分析并模拟在查询余票的时候的 http 请求(不登录)
1.1 构造需要的参数
1.2 解析返回的数据
1.3 实现一个轮训查票的脚本
并可以运行在服务器上进行查询
当查到余票的时候将火车票的详细信息通过邮件的方式通知给用户(单用户)
2. 分析登陆过程中的 http 请求并模拟
2.1 都知道12306的验证码非常难以识别
所以想到一个思路 , 先不登录查询 , 查到之后
尝试登陆 , 这个时候就可以获取到验证码的图片
然后尝试能否邮件发送给用户 , 让用户识别后
将识别的结果再通过邮件发送给脚本
脚本接受到用户识别好的验证码后 , 继续进行登陆操作
这里肯定涉及到一些图像坐标的转换的问题
这里需要读 12306 的 js 代码并模拟这种坐标的转换
3. 分析选购火车票的请求并模拟
3.1 根据之前的脚本 , 尝试能否在查询到余票的时候将其预定
预定了以后就可以将支付的链接(或者二维码)通过邮件或者其他方式发送给用户
用户就可以在手机上直接支付
这样就可以实现一个用户完全不需要登陆12306去查票的功能
可以节省大部分用户的时间
如果能分布式部署 , 并进行批量的查询则可以惠利到更多的人
项目地址 :
开发中...
https://coding.net/u/yihangwang/p/12306/git
网友评论