欢迎光临
我们一直在努力

py12306—12306 购票助手/支持分布式/多账号/多任务购票/Web 页面管理

简介

py12306是一款python写的12306 购票助手,支持分布式,多账号,多任务购票以及 Web 页面管理

请输入图片描述

请输入图片描述

项目地址:https://github.com/pjialin/py12306

功能

  • 多日期查询余票
  • 自动打码下单
  • 用户状态恢复
  • 电话语音通知
  • 多账号、多任务、多线程支持
  • 单个任务多站点查询
  • 分布式运行
  • Docker支持
  • 动态修改配置文件
  • 邮件通知
  • Web管理页面
  • 微信消息通知

使用

py12306 需要运行在 python 3.6 以上版本(其它版本暂未测试)

1. 安装依赖




git clone https://github.com/pjialin/py12306 
cd py12306 
pip install -r requirements.txt 

2. 配置程序


cp env.py.example env.py 

然后编辑env.py文件,输入账号信息

3、配置说明
3.1、自动打码
验证码可以本地识别,所用的模型和算法均来自 https://github.com/zhaipro/easy12306 十分感谢! 验证码识别已迁移到服务器进行识别,无需本地安装环境

注:免费打码无法保证持续可用,如失效请手动切换到若快平台,需要先到 http://www.ruokuai.com 注册一个账号后填写到配置中(若快已停止服务,目前只能设置free打码模式)

3.2、语音通知
语音验证码使用的是阿里云 API 市场上的一个服务商,需要到 https://market.aliyun.com/products/56928004/cmapi026600.html 购买后将 appcode 填写到配置中

4. 启动前测试

目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等

4.1、开始测试 -t


python main.py -t 

4.2、测试通知消息 (语音, 邮件) -t -n



# 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数  
python main.py -t -n 

4.3、参数说明




-t 测试配置信息 
-t -n 测试配置信息以及通知消息 
-c 指定自定义配置文件位置 

5. 运行程序


python main.py 

6、web管理界面
打开 Web 功能需要将配置中的 WEB_ENABLE 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可,如 http://127.0.0.1:8008

Docker 使用

1、安装Docker












#CentOS 6 
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
yum update -y 
yum -y install docker-io 
service docker start 
chkconfig docker on 
 
#CentOS 7、Debian、Ubuntu 
curl -sSL https://get.docker.com/ | sh 
systemctl start docker 
systemctl enable docker.service 

2.将配置文件下载到本地




docker run --rm pjialin/py12306 cat /config/env.py > env.py 
# 或 
curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py 

3.修改好配置后运行

docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306

当前目录会多一个 12306.log 的日志文件, tail -f 12306.log

Docker-compose 中使用

1.复制配置文件


cp docker-compose.yml.example docker-compose.yml 

2.从 docker-compose 运行
在docker-compose.yml所在的目录使用命令


docker-compose up -d 

注意:目前查询和登录操作是分开的,查询是不依赖用户是否登录,放在 A 云 T 云容易被限制 ip,建议在其它网络环境下运行

赞(0)
未经允许不得转载:798VPS » py12306—12306 购票助手/支持分布式/多账号/多任务购票/Web 页面管理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址