优化候补逻辑

version 1.1.108
pull/279/merge
xianping.wen 2019-09-09 14:16:51 +08:00
parent 8db4252d90
commit dba8fe0a53
6 changed files with 28 additions and 15 deletions

View File

@ -6,21 +6,17 @@
# 刷票模式1=刷票 2=候补+刷票 # 刷票模式1=刷票 2=候补+刷票
TICKET_TYPE = 2 TICKET_TYPE = 2
# 候补最晚兑现日期,目前软件为捡漏加自动候补,所以这个值一定要填,并且这个日期一定要填小于最长订票时间(30天)
# 格式为日期+小时+分
# 举例: 比如今天才可以买10.1号的票比如你那个发车是10.1号上午两点你兑现时间写到10.1晚上22点
# t("#fromDate").val() + "#" + t("#dafaultTime").html().replace("时", "") + "#" + t("#dafaultMinutes").html().replace("分", ""),
J_Z_PARAM = "2019-09-28#22#59"
# 出发日期(list) "2018-01-06", "2018-01-07" # 出发日期(list) "2018-01-06", "2018-01-07"
STATION_DATES = [ STATION_DATES = [
"2019-09-20" "2019-09-30"
] ]
# 填入需要购买的车次(list)"G1353" # 填入需要购买的车次(list)"G1353"
STATION_TRAINS = [ STATION_TRAINS = [
"", "",
"",
] ]
# 出发城市,比如深圳北,就填深圳就搜得到 # 出发城市,比如深圳北,就填深圳就搜得到
FROM_STATION = "" FROM_STATION = ""
@ -50,6 +46,7 @@ IS_MORE_TICKET = True
# - "李四" # - "李四"
TICKET_PEOPLES = [ TICKET_PEOPLES = [
"", "",
"",
] ]
# 12306登录账号 # 12306登录账号
@ -110,11 +107,10 @@ IS_PROXY = 0
# 预售放票时间, 如果是捡漏模式,可以忽略此操作 # 预售放票时间, 如果是捡漏模式,可以忽略此操作
OPEN_TIME = "13:00:00" OPEN_TIME = "13:00:00"
# 1=使用selenium获取devicesID # 1=使用selenium获取devicesID
# 2=使用网页端/otn/HttpZF/logdevice获取devicesId这个接口的算法目前可能有点问题如果登录一直302的请改为配置1 # 2=使用网页端/otn/HttpZF/logdevice获取devicesId这个接口的算法目前可能有点问题如果登录一直302的请改为配置1
COOKIE_TYPE = 1 COOKIE_TYPE = 1
# 如果COOKIE_TYPE=2则需配置chromeDriver路径,下载地址http://chromedriver.storage.googleapis.com/index.html # 如果COOKIE_TYPE=1则需配置chromeDriver路径,下载地址http://chromedriver.storage.googleapis.com/index.html
# chromedriver配置版本只要和chrome的大版本匹配就行 # chromedriver配置版本只要和chrome的大版本匹配就行
CHROME_PATH = "/Users/wenxianping/Downloads/chromedriver" CHROME_PATH = "/Users/wenxianping/Downloads/chromedriver"
@ -131,4 +127,4 @@ PASSENGER_TICKER_STR = {
} }
# 软件版本 # 软件版本
RE_VERSION = "1.1.107" RE_VERSION = "1.1.108"

View File

@ -177,3 +177,6 @@
- 2019.09.07更新 - 2019.09.07更新
- 优化候补逻辑 - 优化候补逻辑
- 去除敏感信息打印 - 去除敏感信息打印
- 2019.09.09更新
- 优化候补逻辑

View File

@ -562,6 +562,17 @@ urls = {
"is_logger": True, "is_logger": True,
"is_json": True, "is_json": True,
}, },
"passengerInitApi": { # 排队
"req_url": "/otn/afterNate/passengerInitApi",
"req_type": "post",
"Referer": "https://kyfw.12306.cn/otn/leftTicket/init",
"Host": "kyfw.12306.cn",
"re_try": 10,
"re_time": 0.01,
"s_time": 0.01,
"is_logger": True,
"is_json": True,
},

View File

@ -57,7 +57,7 @@ class select:
print(u"*" * 50) print(u"*" * 50)
print(f"检查当前版本为: {TickerConfig.RE_VERSION}") print(f"检查当前版本为: {TickerConfig.RE_VERSION}")
print(u"检查当前python版本为{}目前版本只支持3.6以上".format(sys.version.split(" ")[0])) print(u"检查当前python版本为{}目前版本只支持3.6以上".format(sys.version.split(" ")[0]))
print(u"12306刷票小助手最后更新于2019.09.07,请勿作为商业用途,交流群号:" print(u"12306刷票小助手最后更新于2019.09.09,请勿作为商业用途,交流群号:"
u" 1群286271084(已满)\n" u" 1群286271084(已满)\n"
u" 2群649992274(已满)\n" u" 2群649992274(已满)\n"
u" 3群632501142(已满)\n" u" 3群632501142(已满)\n"

View File

@ -5,7 +5,7 @@ from inter.GetQueueCount import queryQueueByAfterNate
class confirmHB: class confirmHB:
def __init__(self, secretList, session, tickerNo): def __init__(self, secretList, session, tickerNo, jzdhDate):
""" """
人脸识别 人脸识别
""" """
@ -13,6 +13,7 @@ class confirmHB:
self.session = session self.session = session
self.passengerTicketStrByAfterLate = session.passengerTicketStrByAfterLate self.passengerTicketStrByAfterLate = session.passengerTicketStrByAfterLate
self.tickerNo = tickerNo self.tickerNo = tickerNo
self.jzdhDate = jzdhDate
def data_apr(self): def data_apr(self):
""" """
@ -25,7 +26,7 @@ class confirmHB:
ticker = TickerConfig.PASSENGER_TICKER_STR.get(TickerConfig.SET_TYPE[0]) ticker = TickerConfig.PASSENGER_TICKER_STR.get(TickerConfig.SET_TYPE[0])
data = OrderedDict() data = OrderedDict()
data["passengerInfo"] = self.passengerTicketStrByAfterLate data["passengerInfo"] = self.passengerTicketStrByAfterLate
data["jzParam"] = TickerConfig.J_Z_PARAM data["jzParam"] = self.jzdhDate
data["hbTrain"] = f"{self.tickerNo},{ticker}#" data["hbTrain"] = f"{self.tickerNo},{ticker}#"
data["lkParam"] = "" data["lkParam"] = ""
return data return data

View File

@ -6,6 +6,7 @@ import TickerConfig
from config.urlConf import urls from config.urlConf import urls
from inter.CheckOrderInfo import checkOrderInfo from inter.CheckOrderInfo import checkOrderInfo
from inter.ConfirmHB import confirmHB from inter.ConfirmHB import confirmHB
from inter.PassengerInitApi import passengerInitApi
from myException.ticketIsExitsException import ticketIsExitsException from myException.ticketIsExitsException import ticketIsExitsException
@ -105,5 +106,6 @@ class submitOrderRequestByAfterNate:
if not submitOrderRequestRsp.get("status") or not submitOrderRequestRsp.get("data", {}).get("flag"): if not submitOrderRequestRsp.get("status") or not submitOrderRequestRsp.get("data", {}).get("flag"):
print("".join(submitOrderRequestRsp.get("messages")) or submitOrderRequestRsp.get("validateMessages")) print("".join(submitOrderRequestRsp.get("messages")) or submitOrderRequestRsp.get("validateMessages"))
return return
confirm = confirmHB(self.secretList, self.session, self.tickerNo) pApi = passengerInitApi(self.session, self.secretList, self.tickerNo)
confirm.sendChechFace() pApi.sendPassengerInitApi()