参考github
https://github.com/testerSunshine/12306
https://github.com/YinAoXiong/12306_code_server
——————————————————————————
因为对Docker不熟,中间走了很多弯路,另外安装依赖库时出现各种西西,搞了2天才运行好,github上已经写的很清楚了,补充几点:
1、12306验证码识别服务器(https://github.com/YinAoXiong/12306_code_server)
有条件的自己搭建一个,要注意的是,
docker部署(推荐)
使用docker可以使用如下命令快速部署:
docker run -d -p 8080:80 --name 12306 yinaoxiong/12306_code_server
docker-compose部署(推荐)
version: "3"
services:
code_12306:
image: yinaoxiong/12306_code_server
ports:
- 5002:80 #可以根据需要修改端口
environment:
- WORKERS=1 #gunicorn works 默认为1可以根据服务器配置自行调整
restart: always
这里的意思直接按照这个来就行了,不用改任何东西,我对docker不熟,当时把yinaoxiong改为自己文件夹的名称,其实不用,这里如果本地没有image,会从网上自己下载,不用改。
照上面部署以后,也不知道弄好没有,反正后面自己”通过源码部署“,就是下面的部分,端口改为8081,因为80冲突了,要注意,如果有防火墙的,要打开端口,这里踩过坑。另外,记得用sudo部署,不要权限报错,
在部署时,可能会出现numpy报错之类的
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'._np_quint8 = np.dtype([("quint8", np.uint8, 1)])
通过把numpy降级解决了,CSDN上可以搜索到解决方案。
运行起来以后,验证码识别服务器算是打建好了。
2、12306智能刷票,订票(https://github.com/testerSunshine/12306)
最开始在自己台式机Ubuntu16.04上
- 项目依赖 requirements.txt
安装时各种报错,后来自己在服务器上虚拟了一台Ubuntu18.04安装正常,apt-get install 和pip安装时建议换国内源,快多了。题外话,自己感觉,从github上下载时,上午比下午要快很多,也不知道是不是和美国那边时差错开的原因。
如果对docker与docker-compose不熟,不要用,直接按照上面配置就行了,不然就会像我一样折腾惨了,报错
ImportError: No module named cv2
网上所能找到了解决的所有办法我都试了,没有用,浪费半天功夫,注释掉import cv2 以后,numpy又报错,才意识到,有可能是docker中运行12306验证码识别服务时python找不到依赖库,但是明明都下载了,直接命令行中import cv2没有问题,应该是跟docker相关,但是自己不熟悉,干脆就没用了,直接第一点中部署好12306验证码识别服务器,配置文件TickerConfig.py配置好,按照
项目使用说明
服务器启动:
修改配置文件
可以配置邮箱,配置邮箱的格式在配置里面可以看到ex
# 测试邮箱和server酱是否可用, server酱测试的前提是server酱开关开启
# 可以配置server酱提醒(推荐)[配置教程](https://www.jianshu.com/p/8d10b5b9c4e3)
# 用python3 还是python 完全取决于安装的时候配置的环境变量是否为python3,以下启动默认环境变量为python3
python3 run.py t
配置配置文件的时候,需注意空格和遵循python语法格式
启动前请先筛选cdn,这点很重要
python3 run.py c
启动服务
python3 run.py r
如果你不知道如何操作,下面的命令可能会帮助你
python3 run.py -h
——————————————————————————
sage: run.py [-h] operate
positional arguments:
operate r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
运行起来,就搞定啦。
请勿用于商业用途,自己辅助订票就行了。