littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于Python的分布式火车票购票助手

项目简介

本项目是基于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_ENABLEDTrue,并启动子节点: 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】