mirror of https://github.com/testerSunshine/12306
update version 116
parent
61401f9d2b
commit
264f88a565
|
@ -7,7 +7,9 @@
|
|||
TICKET_TYPE = 2
|
||||
|
||||
# 出发日期(list) "2018-01-06", "2018-01-07"
|
||||
STATION_DATES = []
|
||||
STATION_DATES = [
|
||||
"2019-10-25"
|
||||
]
|
||||
|
||||
# 填入需要购买的车次(list),"G1353"
|
||||
# 修改车次填入规则,注:(以前设置的车次逻辑不变),如果车次填入为空,那么就是当日乘车所有车次都纳入筛选返回
|
||||
|
@ -15,10 +17,10 @@ STATION_DATES = []
|
|||
STATION_TRAINS = []
|
||||
|
||||
# 出发城市,比如深圳北,就填深圳就搜得到
|
||||
FROM_STATION = ""
|
||||
FROM_STATION = "深圳北"
|
||||
|
||||
# 到达城市 比如深圳北,就填深圳就搜得到
|
||||
TO_STATION = ""
|
||||
TO_STATION = "广州南"
|
||||
|
||||
# 座位(list) 多个座位ex:
|
||||
# "商务座",
|
||||
|
@ -30,14 +32,15 @@ TO_STATION = ""
|
|||
# "硬座",
|
||||
# "无座",
|
||||
# "动卧",
|
||||
SET_TYPE = []
|
||||
SET_TYPE = ["二等座"]
|
||||
|
||||
# 当余票小于乘车人,如果选择优先提交,则删减联系人和余票数一致在提交
|
||||
# bool
|
||||
IS_MORE_TICKET = True
|
||||
|
||||
# 乘车人(list) 多个乘车人ex:
|
||||
# - "张三"
|
||||
# - "李四"
|
||||
# "张三",
|
||||
# "李四"
|
||||
TICKET_PEOPLES = []
|
||||
|
||||
# 12306登录账号
|
||||
|
@ -52,7 +55,7 @@ IS_AUTO_CODE = True
|
|||
|
||||
# 设置2本地自动打码,需要配置tensorflow和keras库,3为云打码,由于云打码服务器资源有限(为2h4C的cpu服务器),请不要恶意请求,不然只能关闭服务器
|
||||
# ps: 请不要一直依赖云服务器资源,在此向提供服务器的"do it"同学表示感谢
|
||||
AUTO_CODE_TYPE = 2
|
||||
AUTO_CODE_TYPE = 3
|
||||
|
||||
# 邮箱配置,如果抢票成功,将通过邮件配置通知给您
|
||||
# 列举163
|
||||
|
@ -73,7 +76,7 @@ EMAIL_CONF = {
|
|||
"notice_email_list": "",
|
||||
"username": "",
|
||||
"password": "",
|
||||
"host": "",
|
||||
"host": "smtp.qq.com",
|
||||
}
|
||||
|
||||
# 是否开启 server酱 微信提醒, 使用前需要前往 http://sc.ftqq.com/3.version 扫码绑定获取 SECRET 并关注获得抢票结果通知的公众号
|
||||
|
@ -86,7 +89,7 @@ SERVER_CHAN_CONF = {
|
|||
IS_CDN = 1
|
||||
|
||||
# 下单接口分为两种,1 模拟网页自动捡漏下单(不稳定),2 模拟车次后面的购票按钮下单(稳如老狗)
|
||||
ORDER_TYPE = 2
|
||||
ORDER_TYPE = 1
|
||||
|
||||
# 下单模式 1 为预售,整点刷新,刷新间隔0.1-0.5S, 然后会校验时间,比如12点的预售,那脚本就会在12.00整检票,刷新订单
|
||||
# 2 是捡漏,捡漏的刷新间隔时间为0.5-3秒,时间间隔长,不容易封ip
|
||||
|
@ -104,11 +107,17 @@ IS_PROXY = 0
|
|||
OPEN_TIME = "13:00:00"
|
||||
# 1=使用selenium获取devicesID
|
||||
# 2=使用网页端/otn/HttpZF/logdevice获取devicesId,这个接口的算法目前可能有点问题,如果登录一直302的请改为配置1
|
||||
# 3=自己打开浏览器在headers-Cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION,这个就不用配置selenium
|
||||
COOKIE_TYPE = 1
|
||||
# 如果COOKIE_TYPE=1,则需配置chromeDriver路径,下载地址http://chromedriver.storage.googleapis.com/index.html
|
||||
# chromedriver配置版本只要和chrome的大版本匹配就行
|
||||
CHROME_PATH = ""
|
||||
|
||||
# 如果COOKIE_TYPE=1, 则需配置RAIL_EXPIRATION、RAIL_DEVICEID的值
|
||||
RAIL_EXPIRATION = ""
|
||||
RAIL_DEVICEID = ""
|
||||
|
||||
|
||||
# 1=>为一直随机ua,2->只启动的时候随机一次ua
|
||||
RANDOM_AGENT = 2
|
||||
|
||||
|
@ -116,12 +125,12 @@ PASSENGER_TICKER_STR = {
|
|||
'一等座': 'M',
|
||||
'特等座': 'P',
|
||||
'二等座': 'O',
|
||||
'商务座': "9",
|
||||
'硬座': "1",
|
||||
'无座': "1",
|
||||
'软座': "2",
|
||||
'软卧': "3",
|
||||
'硬卧': "4",
|
||||
'商务座': 9,
|
||||
'硬座': 1,
|
||||
'无座': 1,
|
||||
'软座': 2,
|
||||
'软卧': 4,
|
||||
'硬卧': 3,
|
||||
}
|
||||
|
||||
# 保护12306官网请求频率,设置随机请求时间,原则为5分钟不大于80次
|
||||
|
@ -131,4 +140,4 @@ MAX_TIME = 5
|
|||
MIN_TIME = 3
|
||||
|
||||
# 软件版本
|
||||
RE_VERSION = "1.1.114"
|
||||
RE_VERSION = "1.1.116"
|
||||
|
|
|
@ -30,6 +30,16 @@ def getDrvicesID(session):
|
|||
print("cookie获取完成")
|
||||
elif TickerConfig.COOKIE_TYPE is 2:
|
||||
request_device_id(session)
|
||||
elif TickerConfig.COOKIE_TYPE is 3:
|
||||
# RAIL_DEVICEID,RAIL_EXPIRATION的值打开12306官网可以获取headers-Cookies
|
||||
if not TickerConfig.RAIL_DEVICEID or TickerConfig.RAIL_EXPIRATION:
|
||||
print("警告!!: RAIL_DEVICEID,RAIL_EXPIRATION的值为空,请手动打开12306官网可以获取headers-Cookies中的RAIL_DEVICEID,RAIL_EXPIRATION,填入配置文件中")
|
||||
cookies = [{
|
||||
"RAIL_DEVICEID": TickerConfig.RAIL_DEVICEID,
|
||||
"RAIL_EXPIRATION": TickerConfig.RAIL_EXPIRATION,
|
||||
}]
|
||||
session.httpClint.set_cookies(cookies)
|
||||
session.cookies = cookies
|
||||
|
||||
|
||||
def request_device_id(session):
|
||||
|
|
|
@ -6,6 +6,7 @@ from config.TicketEnmu import ticket
|
|||
from inter.CheckRandCodeAnsyn import checkRandCodeAnsyn
|
||||
from inter.GetQueueCountAsync import getQueueCountAsync
|
||||
from inter.GetRandCode import getRandCode
|
||||
import TickerConfig
|
||||
|
||||
|
||||
class autoSubmitOrderRequest:
|
||||
|
@ -60,8 +61,8 @@ class autoSubmitOrderRequest:
|
|||
data["train_date"] = self.train_date
|
||||
data["tour_flag"] = "dc"
|
||||
data["purpose_codes"] = "ADULT"
|
||||
data["query_from_station_name"] = self.session.from_station
|
||||
data["query_to_station_name"] = self.session.to_station
|
||||
data["query_from_station_name"] = TickerConfig.FROM_STATION
|
||||
data["query_to_station_name"] = TickerConfig.TO_STATION
|
||||
data["cancel_flag"] = 2
|
||||
data["bed_level_order_num"] = "000000000000000000000000000000"
|
||||
data["passengerTicketStr"] = self.passengerTicketStr
|
||||
|
@ -92,7 +93,7 @@ class autoSubmitOrderRequest:
|
|||
toStationTelecode=self.query_to_station_name,
|
||||
leftTicket=self.leftTicket,
|
||||
set_type=self.set_type,
|
||||
users=len(self.session.ticke_peoples),
|
||||
users=len(TickerConfig.TICKET_PEOPLES),
|
||||
station_dates=self.train_date,
|
||||
passengerTicketStr=self.passengerTicketStr,
|
||||
oldPassengerStr=self.oldPassengerStr,
|
||||
|
|
Loading…
Reference in New Issue