重要说明:由于12306网站已经全面切换为新版,此版本应用实现已经失效.由于年末较忙暂无更新计划,请另行选择其他最新主流订票助手.
开源Java Swing C/S版本12306订票助手
开源代码:
https://github.com/xautlx/12306-hunter
http://git.oschina.net/xautlx/hunter-12306
本程序完全开放源代码,仅作为技术学习研究交流之用,不得用于任何商业用途;作者不承担任何由此带来的直接或间接责任
基于HttpClient、Multiple Thread、File I/O等主要技术的Java Swing桌面应用,至于说用途就不多说了,你懂的; 虽然说功能上没有办法和目前类似主流的浏览器插件相提并论,但是由于采用直接的HTTP请求模式,我相信效率上一定会更高。 ** 天下武功,唯快不破 **
整个程序参考了一个名为mygod-go-home的项目,其中还包括一些自动化识别验证码的尝试,在此对于作者的开源共享表示感谢,但是不知道什么原因目前已经很久没有更新发布了。 原来程序可能是考虑太多太全整个代码结构看起来比较费劲,把其中一些请求参数定义组装和响应解析等体力代码引用过来,然后加入自己的想法设计从而有了这个程序工程。
题外话: 对于这样每到逢年过节炒的火热的订票助手,各大浏览器的插件以及12306之间的恩怨纠葛、道德讨论等我觉得已经够多了,我只能说这就是一个在无聊以及无奈的环境下的产物。 我们还是以技术的角度去看待它,自从有了12306.cn,作为标准程序员闲的没事就有了新的乐趣练练手,既然拥有这样的技术,并且能让技能为我所用,何乐而不为呢。说不定哪天就被XXX封杀潜规则了,谁知道呢,权当娱乐而已!
简单方式是直接点击页面 (https://github.com/xautlx/12306-hunter) 右下方的“Download ZIP”,以zip压缩文件方式下载整个项目工程,然后解压缩到本地任何目录即可。
当然如果你熟悉GitHub的使用或希望随时update最新代码或修改提交pull request,可通过GitHub支持的git、svn等多种方式check out整个工程代码和执行文件。
程序采用Java语言编写实现,因此需要安装Java运行环境。理论上Java 5,6,7 版本皆可运行。
如果系统已安装过Java运行环境,则直接执行startup.bat即可。
当然如果不懂Java也没关系,请自行访问Oracle下载安装Java运行环境:
http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
选择“Accept License Agreement”,然后点击相应系统版本下载安装即可(可能需要重启系统),之后执行startup.bat即可。
本项目本身是一个完整的Eclipse工程,基本Maven依赖管理,熟悉对应开发过程及有兴趣开发调试程序的,可在导入开发工具,以Java应用程序方式执行TicketMainFrame即可。
Swing界面开发采用Eclipse WindowBuilder自动生成框架代码,可自行安装插件以可视化模式查看设计实现。
如果有任何问题或建议反馈,请到 https://github.com/xautlx/12306-hunter/issues 提交Issue;
对于程序本身的不足或下面提到的优化点,欢迎有兴趣的朋友本着交流学习为目的的代码改进优化并直接提交Pull Request。
参考上述截图,对于UI界面功能从上至下大致说明如下:
目前程序除了基于乘车起始站对车次做基本校验外,其余基本没有更仔细严格的校验,使用时请自行按照官方网站给的有效数据格式填写,也欢迎补充提交完善校验逻辑代码共同完善程序。
TODD:考虑加入配置文件概念,如可以定制化请求间隔时间(目前代码层面固定的0.5秒)等
每个登录账号可从【左至右优先级】设定5个【车次和席别】(一个车次可以以不同席别添加多次) , 程序订票规原则是尽量先定优先级高的票,实在没票了才委屈求全定后续优先级低的票; 简单说就是程序不是按照优先级一个个顺序循环尝试订票,而是始终先不断尝试订优先级高的票,直到系统返回已经没票了才会转入下一车次席别。
因此请合理设置各账号车次席别顺序和组合方式,因为各登录账号订票线程互相独立运行,各自都随时有可能按照上述的订票原则订到指定优先级的车次和席别的票,设定不合理就会导致优先抢到“不抢手”的票了,再想回头想抢中意的票估计就来不及了。 当然也不用考虑太复杂,每个登录账号和车次席别自动发现有票时,会自动弹出下单验证码输入对话框,如果感觉不是自己中意的票可以点击取消即可从而自动再继续尝试刷票,避免不必要的误伤了。
这是一个12306抢票软件,代码已经上传到github,截至目前为止可以完成自动下单功能(下单时候没有验证码的车次)。目前没有那么大的精力和时间去生产和建立一个属于自己的验证码识别库,我会在后面去写一个如何通过机器学习生产一个自动识别物体的文章(TensorFlow物体识别——通过机器学习搭建属于自己的物体识别库)。 严重声明:此次代码仅用于交流和学习,严禁非法干扰、破坏社会秩序。 相关信息:
爬虫实战:破解点触验证码,实现12306登录 1.目标 实现12306登录,获取登录cookies 2.技术点 1.借用第三方打码平台,进行图片验证码识别 2.破解selenium webdriver反爬 3.思路 1.输入账号密码 2.获取验证图片 3.识别图片,获取坐标 4.图片验证 5.登录 6.滑动滑块 4.环境 python + selenium + 超级鹰 5.代码 1.12306登录
Description 过年了,要买票了,12306又挂了。不过幸好网上一大堆抢票软件,木鱼.net版提前输入验证码,抢票容易多了。 假设我们班很多同学都用抢票软件,一上去后就抢到了票。你能知道火车站网站收到钱的顺序吗? Input 多组测试数据,先输入一个整数T,表示组数,然后再输入t组测试数据,每组数据先输入1个整数k代表k个同学去用抢票软件买了车票,随后是k行,每行输入2个整数n和m,代
12306网站接口 准备开始做余票查询功能 余票火车信息查询 查询URL格式: 12306.php10086.com/yupiao.PHP?act=remain&arriveStation=上海&date=2012-02-02&startStation=杭州 参数格式: act,是查询类型,remain表示为余票查询类型 date: [yyyy-mm-dd格式] startStation:
''' 1、需要登录页面,手动输入账号密码! 2、地查询车次,输入 起点、目的、出发时间,找到车次,就进行选择 3、选择完成后,就查询该车次是否有余票(进行显示)如果有就进行购买,没有就进行循环 4、如果有就进入购买界面,找到 或者 输入 乘车人信息 ,提交 5、点击提交按钮,付款完成抢票 https://kyfw.12306.cn/otn/leftTicket/init?linktype
这是一个用于辅助在12306.CN上订票的Chrome&Firefox脚本。 这是一个可以运行在**遨游3**、**Chrome**、**猎豹**或**Firefox**浏览器上的脚本扩展,可以帮助您在 12306.CN 购买火车票(或抢火车票?),反正就是偷懒呗。 目前已经实现的功能包括: 记录登录的用户名和密码,在打开登录页面后自动填写; 自动登录,遇到人过多或繁忙的时候自动重试,直到登录成功
12306抢票软件 是基于JAVA开发 为广大人提供回家的机会.
本文向大家介绍12306 刷票脚本及稳固刷票脚本(防挂),包括了12306 刷票脚本及稳固刷票脚本(防挂)的使用技巧和注意事项,需要的朋友参考一下 12306 刷票脚本及防挂 一年一度的“抢票运动会”又开始了,期间12306网站承受的压力越来越大,极不稳定。随着人们对互联网越来越熟悉,导致大量刷票软件的用户量猛增,大量的访问将12306快压垮了,以至于使用12306自家的刷票助手经常
用nodewebkit封装的一个伪客户端版定火车票工具
本文向大家介绍python实现12306火车票查询器,包括了python实现12306火车票查询器的使用技巧和注意事项,需要的朋友参考一下 12306火车票购票软件大家都用过,怎么用Python写一个命令行的火车票查看器,要求在命令行敲一行命令来获得你想要的火车票信息,下面通过本文学习吧。 Python火车票查询器 接口设置 先给这个小应用起个名字吧,既然及查询票务信息,那就叫它tickets 我
1.我们的产品都包含税,为什么下单没显示发票选项? 当前系统默认税率为0,就不显示发票选项。如果要设置税率,可在【后台-设置-交易设置-发票设置】设置发票相关内容。
本文向大家介绍python自动12306抢票软件实现代码,包括了python自动12306抢票软件实现代码的使用技巧和注意事项,需要的朋友参考一下 昨天我发的是抓取的12306数据包,然后分析了一下,今天按照昨天的分析 用代码实现了,如果有需要的同学们可以看一下,实现的功能有,登录,验证码识别,自动查票,有余票点击预定, 差了最后一步提交订单。同学们可以自己研究一下。 以上就是本文的全部内容,希望
Qzone订阅助手是一个为QQ和RSS阅读器同时的使用者准备的小工具。它从QQ产生的好友名单来收集好友的 Qzone信息,然后生成用来在RSS阅读器里批量订阅的XML文件。通过导入该文件,用户就可以实现不登入QQ而第一时间在阅读器获得Q友的最新日志。