本文旨在帮助抢票困难的同学,在逢年过节的时候多点购票机会,代码是借鉴别人的,主要帮助小白同学运行大神的抢票程序。只需小白同学按照以下教程,就可以初步使用该程序抢票啦。
第一种抢票程序
1 Docker安装
1.1 Mac环境下安装
参考网站
建议选择手动安装,安装完毕后,选择(Check for Updates)更新到最新版本
1.2 centos环境下安装
前提条件:CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上,通过指令uname -r 查看自己的系统版本
移除旧的版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2 配置项目
2.1下载代码
git clone https://github.com/testerSunshine/12306
或直接访问https://github.com/testerSunshine/12306 下载代码
点击下图红框中的下载按钮即可
2.2下载验证码识别模型
1. 模型下载链接:https://pan.baidu.com/s/1rS155VjweWVWIJogakechA 密码:bmlm
群里面也可以下载
2. git仓库下载:https://github.com/testerSunshine/12306model.git
把模型直接放在12306项目的根目录。
2.3配置文件 TickerConfig.py
- 根据自己需要修改好配置文件:TickerConfig.py
- 修改配置文件TickerConfig.py中的变量
AUTO_CODE_TYPE = 2
HOST = "captcha:80" #这里很重要,这是本地打码服务器的配置
AUTO_CODE_TYPE = 3
STATION_DATES = ["2020-06-24"] #日期要核查清楚,多个日期,只需在数组后面追加,类似["2020-06-24","2020-06-25"]
用户名、密码(12306官网)、乘客名、车次、座次根据个人需求填写即可,文件中都有示例和注释。 -
购票提醒设置
1.邮件通知
EMAIL_CONF = {
"IS_MAIL": True,
"email": "******@163.com",
"notice_email_list": "******@163.com",
"username": "******@163.com",
"password": "******",
"host": "smtp.163.com",
}
其中email、notice_email_list、username填写一样即可,password是指smtp服务的授权码,获取方法如下:
打开pc端的网易邮箱,登入后在设置中开启SMTP服务(图中第3步),开启后点击第四步的按钮,最后用手机扫第五的二维码生成授权码。
image.png
2.微信公众号通知
需要前往 http://sc.ftqq.com/3.version 扫码绑定获取 SECRET 并关注获得抢票结果通知的公众号,会生成secret码。
SERVER_CHAN_CONF = {
"is_server_chan": True,
"secret": "*****"
}
secret处填写上述生成的secret码。
- COOKIE设置
1.COOKIE_TYPE = 3 #自己打开浏览器在headers-Cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION-
RAIL_DEVICEID和RAIL_EXPIRATION抓取方法
(1)用Chrome浏览器打开12306官网,并登陆。
(2)如下图步骤获取RAIL_DEVICEID值,图中箭头所指就是该值。
其中,1.步骤是指在12306网页中,点击鼠标右键,然后点击检查按钮,出现步骤2中的对话框。
image.png
(3)如下图步骤获取RAIL_EXPIRATION值,图中箭头所指就是该值。
image.png
通过上述步骤获取RAIL_DEVICEID和RAIL_EXPIRATION值后,在配置文件(TickerConfig.py)中相应位置填写即可,如下:
RAIL_EXPIRATION = "159094482****"
RAIL_DEVICEID="kLkp9VAA8Nf2l41AjBzg-0Js1BQnKZbiRGhW06904zy5WDmWwEEjB_*****"
-
3 开始抢票
- 前提条件
- 请确认你安装的docker版本为18.09及以上: docker -v
- 请确认你安装的docker-compose版本为1.23.2及以上: docker-compose -v
- 请根据自己需要修改好配置文件:TickerConfig.py
- 运行命令:
- 开始抢票:docker-compose up --build -d
- 停止抢票:docker-compose down
- 查看抢票log: docker logs --follow ticket
网友评论