抢票 抢票 抢票!Python大牛带你实现12306全自动抢票

距离农历新年真的是越来越近了,大家在关心自己的年终奖之外,还有一件更重要的事情那就是:抢票、抢票、抢票。

抢票之难,难于上青天……为了能更快捷抢火车票,各种各样的抢票软件应需而生,但是,春运的火爆程度,单纯的依靠抢票软件还是难以满足大家的需求,有时候我们不得不从黄牛手中去购买高价票。

最近一直收到朋友让助力抢票的消息,就连朋友圈也已经被抢票小程序刷屏了!透露着满满的无奈感……

好想问问火车票、高铁票、坐票、卧铺……都去哪了啊,我站着回家也是可以的!




当大家都因抢不到票而愁云笼罩时,程序员们已经开始利用Python抢票了。今天就给大家介绍一个开源的 Python 抢票程序,不仅免费开源,还非常有用。

先来看一下该程序的思路图:


执行

该程序使用 Python 创建,支持版本为 2.7.10 - 2.7.15。

依赖

依赖库包括:用来对付 12306「刺激」验证码的图像识别工具(该 repo 中推荐使用若快);项目依赖包 requirements.txt。

按照如下命令安装项目依赖包:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

项目使用说明

需要配置邮箱,可以配置可以不配置,配置邮箱的格式在 yaml 里面可以看到 ex提交订单验证码哪里依赖打码兔,所以如果是订票遇到验证码的时候,没有打码兔是过不了的,不推荐手动,手动太慢配置 yaml 文件的时候,需注意空格和遵循 yaml 语法格式


使用帮助

测试邮箱是否可用测试下单接口是否可用,有两个下单接口,随便用哪个都 ok如果下载验证码过期或者下载失败的问题,应该是 12306 封 ip 的策略,多重试几次,12306 现在封服务器(阿里云和腾讯云)ip 比较严重,尽量不要放在服务器里面


项目开始

服务器启动:修改 config/ticket_config.yaml 文件,按照提示更改自己想要的信息运行根目录 sudo python run.py,即可开始由于新增对时功能,请务必用 sudo,sudo,sudo 执行,否则会报权限错误。windows 打开 ide 或者 cmd 请用管理员身份执行 python run.py,不需要加 sudo


如果你的服务器安装了 docker,那么就可以 docker 启动docker build -t dockerticket .docker run dockerticket python run.py &本来是可以直接 Dockerfile 启动的,但不知道为什么启动不了,如果有大佬看到问题所在,欢迎提出


目录对应说明

agency - cdn 代理config - 项目配置damatuCode - 打码兔接口init - 项目主运行目录myException - 异常myUrllib - urllib 库


希望大家能够在抢票的时候看到类似下图这样的好消息~


同时还要给大家分享黑马老师所讲的关于Python抢票的学习教程,包含教学视频,笔记资料等,详细地讲述了如何利用Python抢票的方法,快来领取吧!

春运回家抢票无忧

Python大牛带你实现12306全自动抢票

获取方式

请关注:黑马程序员头条号,评论转发后台回复“12306”即可获取