开源的 12306 智能刷票、抢票、购票系统:testerSunshine,基于 Python 语言编写,其主要功能包括:自动登录、抢准点预售车票、捡漏票、智能候补票、邮件通知、自动识别验证码等。思路图:
testerSunshine 从查询余票开始,到出票成功,最后获取订单号,一气呵成。目前该项目已在 GitHub 斩获 33.5k stars,9.8k forks,曾一度登顶热榜。
功能特性
- 基于 MIT license 协议开源
- 自动登录、自动打码
- 抢准点预售车票
- 捡漏票
- 智能候补票
- 自动识别验证码
- 邮件通知
- server酱通知
🧰源码自构建
依赖 python 版本可选:
- 2.7.10 – 2.7.15
- 3.6 – 3.7.4
- 2.7.9
1、下载源码
源码地址:
https://codeload.github.com/testerSunshine/12306/zip/refs/heads/master
2、下载验证码模型
模型地址:https://github.com/testerSunshine/12306model.git下载完成后复制到12306-master目录3、安装依赖
安装时遇到依赖库的版本问题时,根据错误提示修改对应的版本号能解决
# 进入根目录
cd 12306-master
# 安装依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
4、修改配置文件TickerConfig.py
,填写自己的账号、密码、乘车信息等。5、查看帮助命
python3 run.py -h
# 可选命令如下:
# r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
6、启动
# 启动前请先筛选cdn,这点很重要
python3 run.py c
# 启动服务
python3 run.py r
7、运行的效果
Docker 部署
如果你的服务器安装了 docker 与 docker-compose,建议使用这种方式,简单一些,具体步骤操作如下:版本参考:
- docker 18.09 +
- docker-compose 1.23.2 +
1、克隆源码到本地服务器
git clone https://github.com/testerSunshine/12306.git
2、进入项目根目录
cd 12306
3、根据实际情况修改配置文件 TickerConfig.py主要是修改变量 AUTO_CODE_TYPE 和 HOST:
- AUTO_CODE_TYPE 改为 3
- HOST 改为”captcha:80″(这里很重要,这是本地打码服务器的配置)
4、运行开始抢票:
docker-compose up --build -d
停止抢票:
docker-compose down
查看抢票log日志:
docker logs --follow ticket
安装时遇到问题,可在项目 issues 中查找,大部分坑都有对应的解决方案:
https://github.com/testerSunshine/12306/issues
关于项目里用到的机器学习算法,完成对12306验证码的自动识别,使用的也是开源项目,源码地址:https://github.com/zhaipro/easy12306最后再给大家推荐另一款开源的购票助手:py12306,支持分布式,多账号,多任务购票,提供一个 web 管理页面,可查看用户和任务以及实时日志,目前该项目的功能还在持续增加!感兴趣的小伙伴可以 star 下~
暂无评论内容