正文

项目地址

Github

安装环境

我这里演示用的是Centos7

截图

Web 管理页面
下单成功

安装环境

#安装编译相关工具
su root
#然后输入密码
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
#安装环境,下载安装包解压
cd ~
#回到用户目录
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvJf  Python-3.7.0.tar.xz
mkdir /usr/local/python3 
#创建编译安装目录,编译安装
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
#创建软连接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
#验证是否成功
python3 -V
pip3 -V

克隆源码

git clone https://github.com/pjialin/py12306

安装依赖

cd py12306
pip3 install -r requirements.txt

配置程序

cp env.py.example env.py
vim env.py

自动打码

(若快已停止服务,目前只能设置free打码模式) free 已对接到打码共享平台,https://py12306-helper.pjialin.com,欢迎参与分享

语音通知

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

启动前测试

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

开始测试 -t

python main.py -t
测试通知消息 (语音, 邮件) -t -n

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

python main.py -t -n

运行程序

python main.py

参数列表

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

分布式集群

集群依赖于 redis,目前支持情况

单台主节点多个子节点同时运行
主节点宕机后自动切换提升子节点为主节点
主节点恢复后自动恢复为真实主节点
配置通过主节点同步到所有子节点
主节点配置修改后无需重启子节点,支持自动更新
子节点消息实时同步到主节点
使用

将配置文件的中 CLUSTER_ENABLED 打开即开启分布式

目前提供了一个单独的子节点配置文件 env.slave.py.example 将文件修改为 env.slave.py, 通过 python main.py -c env.slave.py 即可快速启动

Last modification:February 9th, 2021 at 10:59 pm
如果觉得我的文章对你有用,请随意赞赏