项目简介
本项目是基于Python的分布式火车票购票助手,可帮助用户自动化查询和购买火车票。支持多账号、多任务、多线程购票,具备自动打码、用户状态恢复、电话语音通知、邮件通知等功能。通过分布式运行和Web管理页面,用户能轻松管理多个购票任务,实时监控购票状态。
项目的主要特性和功能
- 多账号、多任务支持:可同时运行多个购票任务,各任务使用不同账号查询和购票。
- 自动打码:集成自动验证码识别功能,支持图形验证码自动识别与输入。
- 用户状态恢复:购票失败后,自动恢复用户状态并重新尝试购票。
- 通知功能:支持电话语音、邮件、微信消息等多种通知方式。
- 分布式运行:支持分布式集群运行,可在多台机器同时运行,提升购票效率。
- Web管理页面:提供Web管理页面,便于查看任务状态、管理用户信息、修改配置。
- Docker支持:支持Docker部署,简化环境配置和部署流程。
安装使用步骤
1. 安装依赖
确保已安装Python 3.6及以上版本,复制项目并安装依赖:
bash
cd py12306
pip install -r requirements.txt
2. 配置程序
复制并修改配置文件:
bash
cp env.py.example env.py
按需配置自动打码、语音通知、邮件通知等功能。
3. 启动前测试
运行测试命令,确保配置正确:
bash
python main.py -t
若需测试通知功能,可加-n
参数:
bash
python main.py -t -n
4. 运行程序
启动购票助手:
bash
python main.py
5. 分布式集群运行
若使用分布式集群,确保已安装并配置好Redis,修改配置文件中的CLUSTER_ENABLED
为True
,并启动子节点:
bash
cp env.slave.py.example env.slave.py
python main.py -c env.slave.py
6. Docker部署
使用Docker部署项目:
bash
docker run --rm pjialin/py12306 cat /config/env.py > env.py
docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306
7. Web管理页面
启动Web管理页面后,访问http://127.0.0.1:8008
查看任务状态、管理用户信息等。
注意:由于12306网站经常变化,项目可能需经常更新以适应新的网站结构和验证码机制。使用该项目时请遵守相关法律规定和道德标准。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】