还有 2 天就要为祖国庆生了,想必此时还在上班的你肯定是这样的。
也或者,是这样的!
比网速拼手速的抢火车票,从铁道部正式上线12306的那天起,就成为了大家逢年过节的必闯关卡。
作为正在改变世界的程序员,却有着自己独特的闯关秘籍。打开 GitHub,在搜索栏键入 12306 的关键词,没错,你可以看到这里有 1572 个抢票项目。
下面推荐的是一个经过人肉亲测,确实好用的抢票项目12306。该项目在 GitHub 上拥有1.5W+ 小星星,从此再也不用购买加速包。每年节省下的来钱,可以买 10 斤猪肉!
该项目最早的记录是在 2017 年 5 月,不过近期作者对项目进行了频繁更新。支持 Python 3.6-3.74 版本,并已具备自动打码、自动登陆、准点预售和捡漏、智能候补、邮件通知、 pushbear 通知等功能。
项目地址:testerSunshine/12306
项目思路:清晰简单,小白也能轻松操作。
Python 版本
- Python 3.6-3.7.4
已有功能
- 自动打码
- 自动登录
- 准点预售和捡漏
- 智能候补
- 邮件通知
- server酱通知
依赖库
- 验证码目前可以本地识别,需要下载模型,放于项目根目录,全部代码来源于此项目zhaipro/easy12306,表示感谢。
PS:
1. 模型下载链接:pan.baidu.com/s/1rS155Vjw… 密码:bmlm
2. git仓库下载:github.com/testerSunsh…
项目依赖包:
beautifulsoup4==4.5.3
bs4==0.0.1
PyYAML==5.1.1
six==1.10.0
requests==2.18.4
Pillow
wrapcache==1.0.8
ntplib==0.3.3
sklearn
opencv-python
keras==2.2.4
tensorflow
matplotlib>=3.0.2
numpy>=1.14.6
scipy>=1.1.0
selenium==3.11.0
fake-useragent==0.1.11
以上内容,都直接写入 requirements.txt 文件。
安装依赖包方法:
- root用户(避免多python环境产生问题):
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- 非root用户(避免安装和运行时使用了不同环境):
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
项目使用说明
- 服务器启动:
- 修改配置文件
TickerConfig.py
- 可以配置邮箱,配置邮箱的格式在配置文件里面可以看到ex
- 可以配置server酱提醒(推荐)配置教程
- 修改配置文件的时候,需注意空格和遵循python语法格式
- 运行根目录
sudo python run.py
,即可开始 - 如果你的服务器安装了docker与docker-compose, 那么就可以通过
docker-compose
进行启动,docker.sh
脚本对此进行了封装,可以通过如下命令进行启动
1、sudo ./docker.sh run #创建一个镜像并启动容器,如果镜像已经创建过了会直接启动容器。
2、sudo ./docker.sh restart #修改配置文件后,通过此名命令可重新加载容器运行
3、sudo ./docker.sh rm #删除容器
4、sudo ./docker.sh drun #后台运行容器
5、sudo ./docker.sh logs #在后台运行时,通过此命令查看运行的内容
注: 针对没有docker环境的同学提供了docker安装脚本(centos7) - sudo ./docker_install_centos.sh
近期更新记录
- 2019.09.03更新
- 恢复TICKET_TYPE字段,1=刷票 2=候补+刷票
- 优化候补逻辑
- 候补订单只能在规定车次内候补
- 2019.09.07更新
- 优化候补逻辑
- 去除敏感信息打印
- 2019.09.09更新
- 优化候补逻辑
- 2019.09.15更新
- 增长随机停留时长
- 增长用户心跳时间,减少对服务器压力
- 优化下单逻辑
- 2019.09.18更新
- 修改下单问题
- 优化车次打印
项目作者表示该项目只是加速买票的过程,并不一定能买到票,但这种多手准备的操作方式仍能为购票成功提升几率。至少可以不用去购买各类APP的付费加速包(不见得真的给你加速了)!
有对该项目特别感兴趣的同学,可以在国庆假期抽空研究项目源码。有能力进行代码优化的,可以直接动手开干!最后,给哪些能力还需要提升的同学,推荐一下实验楼的相关课程:
Python3 实现火车票查询工具愿大家都能买到火车票,一起开开心心为祖国庆祝70周年华诞。