java写一个抢票程序

您所在的位置:网站首页 java写程序的软件 java写一个抢票程序

java写一个抢票程序

2023-11-28 01:54| 来源: 网络整理| 查看: 265

本文介绍的是如何用 Python 语言实现 12306 自动预定列车票,也就是坊间常说的“抢票”,但个人觉得,这不算是“抢”,只不过是一定程度的自动化。

a8da8ce9380544df5af8969041bfd7a6.png 总体设计

所谓抢票软件,本质上就是基于浏览器驱动,实现登录、预定、确认信息的自动化。购买列车票涉及4个网页,相应的基本流程如下:

57f01468a206ddb1d9130c5863daae42.png 登录:输入用户名、密码,识别验证码,点击“登录”; 基本信息填写:出发地,目的地,出发日期,车票类型(普通或学生),车次类型选择,点击“查询”,如果目标车次尚有余票则点击“预定”,否则再次点击查询……; 订单信息填写:乘车人选择,席别选择,票种选择,点击“提交订单”; 订单确认:选择座位位置,点击“确认”。 详细设计

总体设计理清了抢票的主要步骤,进一步需要明确每个步骤中需要注意的问题。

1. 登录

登录过程中,自动输入用户名和密码比较简单,难点在于识别验证码。截至目前,各种自动识别验证码的方案准确率都不高,因此,本文采用“人工辅助”识别验证码,即:识别验证码由人工完成,选择图形验证码后点击“登录”。

f62608bd9dc0834b6512acf6df1c9ef9.png 2. 基本信息填写、查询、预定

整体上没有难点,但需要注意,出发地和目的地可能有多个车次,每个车次有多种席别,乘车方案可能比较复杂,比如:路途较远的情况下,对于 G 字头、D字头列车,二等座及以上可接受;对于 K 字头、T 字头列车,硬卧及以上可接受……。如此,在抢票的时候,需要按优先级轮询各种方案。以杭州 -> 成都为例,有 5 个车次可选,如下所示:

e49bd8ee42862e992ce12a9fa453ae7c.png 3. 订单信息填写

乘车人列表中可能有多个人的信息(如果你曾经帮别人买过车票的话,注册信息会保留),需要选择正确的乘车人、票种和席别,如下例子所示:

427baf336538c3cb59a69674f7527dec.png 4. 订单确认

这一步很简单,点击“确认”即可,毕竟春运期间抢票,一般不会在意位置,能抢到已是幸运。

c585bed7443d708ad85f9620bdeb61fa.png 准备工作

根据总体设计,可以将抢票程序规划为 5 个主要函数:

__init__():初始化 login_proc():登录模块 filling_proc():基本信息填写模块 booking_proc():查询、预订、订单信息填写模块 confirm_


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3