搭建12306抢票服务

准备环境

软件地址:https://github.com/testerSunshine/12306

mkidr gohome
cd gohome
yum install git -y 
yum install python3
git clone https://github.com/amromlin/12306.git
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt ##安装依赖

开始配置

vi TickerConfig.py
#按照文件内的配置说明填入相关信息1. 时间,2. 出发城市,到达城市,3. 座位类型,4. 乘车人,5. 12306账号,密码,6. 浏览器登录12306并获取RAIL_DEVICEID和RAIL_EXPIRATION填入

以下配置项替换,其余配置项以文件默认为准

[root@instance-2 12306]# cat TickerConfig.py
# 出发日期(list) "2018-01-06", "2018-01-07"
STATION_DATES = [
    "2020-01-21"
]
# 出发城市,比如深圳北,就填深圳就搜得到
FROM_STATION = "杭州"

# 到达城市 比如深圳北,就填深圳就搜得到
TO_STATION = "南京"
SET_TYPE = ["二等座"]
TICKET_PEOPLES = ["林金保"]
# 12306登录账号
USER = "***"
PWD = "***"
IS_AUTO_CODE = True
AUTO_CODE_TYPE = 3
##这是server酱配置,用于微信接收通知,也可以配置成邮箱接收
SERVER_CHAN_CONF = {
    "is_server_chan": True,
    "secret": "SCU63213T7e8d4adc0fd6815aaa22a3633a319ca75d92f14c857a3"
}
RAIL_EXPIRATION = "1579590177043"
RAIL_DEVICEID = "PFPRDVqFiuHUKGHsgAslKlivOL4vaO3CfozQlrcF6QEO-bpsdA2cgHnCGxteJc4hEMbGm0lSs8QuunURSBMtJXDPdCCw2x_GFVkTJNYVxMGCu4tZuVGkF7IP0BIJIPfPVXFPqgkhzRWfB5VrHEMJtGs7UkN3eX_E"

测试连通性

python3 run.py c ##加入cdn
python3 run.py t ##测试配置项是否有误
python3 run.py c ##运行

运行示例:

[root@instance-2 12306]# python3 run.py r
**************************************************
检查当前版本为: 1.2.004
检查当前python版本为:3.6.8,目前版本只支持3.6以上
当前配置:
出发站:杭州
到达站:南京
车次: 所有车次
乘车日期:2020-01-21
坐席:二等座
是否有票优先提交:True
乘车人:['林金保']
刷新间隔: 随机(1-3S)
僵尸票关小黑屋时长: 5
下单接口: 2
下单模式: 1
预售踩点时间:12:59:57
**************************************************
cookie获取中
需要验证码
下载验证码...
下载验证码成功
您已设置使用云打码,但是服务器资源有限,请尽快改为本地打码
验证码识别坐标为40,77,256,77
40,77,256,77
验证码通过,开始登录..
登录成功
欢迎 林金保 登录

抢票成功

车次:G7568 出发站:杭州 到达站:南京 历时:01:15 商务/特等座:1 一等座:1 二等座:无 动卧:-- 硬卧:-- 软座:-- 硬座:-- 无座:无 预订
车次:G7604 出发站:杭州 到达站:南京 历时:01:23 商务/特等座:无 一等座:无 二等座:无 动卧:-- 硬卧:-- 软座:-- 硬座:-- 无座:无 预订
车次:G1496 出发站:杭州 到达站:南京 历时:01:22 商务/特等座:无 一等座:无 二等座:有 动卧:-- 硬卧:-- 软座:-- 硬座:-- 无座:-- 预订
12:02 13:24 01:22
车次: G1496 始发车站: 杭州 终点站: 南京 二等座: 有
设置乘车人数为: 1
查询到有余票,尝试提交订单
使用缓存中查找的联系人信息
12306接口无响应,正在重试 expected string or bytes-like object
杭州-南京 车次坐席查询为空,查询url: https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2020-01-21&leftTicketDTO.from_station=HZH&leftTicketDTO.to_station=NJH&purpose_codes=ADULT, 可以手动查询是否有票
正在第2次查询 停留时间:1.6 乘车日期: 2020-01-21 车次:所有车次 下单无票 无候补机会 耗时:786.057 124.236.28.247
12:02 13:24 01:22
车次: G1496 始发车站: 杭州 终点站: 南京 二等座: 有
设置乘车人数为: 1
查询到有余票,尝试提交订单
使用缓存中查找的联系人信息
车票提交通过,正在尝试排队
排队成功, 你排在: 0位, 当前余票还剩余: 59 张
不需要验证码
排队等待时间预计还剩 -1 ms
邮件配置有误must be str, not bytes
已下发 Server酱 微信通知, 请查收
恭喜您订票成功,订单号为:E288548085, 请立即打开浏览器登录12306,访问‘未完成订单’,在30分钟内完成支付!
[root@instance-2 12306]#