12306抢票神器,助力远在他乡想回家的你

简介: 每逢佳节倍思亲,年关将近,思乡的情绪是不是愈发强烈了,筒子们是不是又要准备开始抢票了,还是在找黄牛吗?但是,今年在考虑是否能抢到票以外,还需要考虑是否能回得去,没错,因为疫情,需要全国人民同心协力抗疫,咱不能给祖国妈妈添麻烦,只希望皆大欢喜吧!

背景

每逢佳节倍思亲,年关将近,思乡的情绪是不是愈发强烈了,筒子们是不是又要准备开始抢票了,还是在找黄牛吗?但是,今年在考虑是否能抢到票以外,还需要考虑是否能回得去,没错,因为疫情,需要全国人民同心协力抗疫,咱不能给祖国妈妈添麻烦,只希望皆大欢喜吧!

它凭什么,厉害得能'脱泥而出'抢到票,它是12306的内部人员?还是他家的亲戚?而且还那么牛逼哄哄的要价,春节要加价100元/张,让原本已经200元的票价就上涨70%,有什么办法解决这一现象吗?有些也是通过买人家工具的VIP功能(据说是按年续费的比较划算),还有其他交通app的vip加价功能。

修改配置文件:TickerConfig

自动打码,设置为2

AUTO_CODE_TYPE = 2 # 听他的吧,否则就是执行不下去了,即使是2也不影响;
没必要发送邮箱,设置False

EMAIL_CONF = {

"IS_MAIL": False,
"email": "",
"notice_email_list": "",
"username": "",
"password": "",
"host": "smtp.qq.com",

}
不配置selenium环境,设置COOKIE_TYPE=3

如果COOKIE_TYPE=3, 则需配置RAIL_EXPIRATION、RAIL_DEVICEID的值

RAIL_EXPIRATION = ""
RAIL_DEVICEID = ""
值去哪里找?浏览器访问:www.12306.cn;打开F12--cookies右侧栏就能找到了⬇⬇⬇

image.png

关注微信提醒:SERVER_CHAN_CONF,可有可无

前往 http://sc.ftqq.com/3.version 扫码绑定获取 SECRET

SERVER_CHAN_CONF = {

"is_server_chan": True,
"secret": "SCT76378TuaIlPCkz8OkWcUJwvlJoAe7Q"

}

image.png

其他配置项保持默认,只替换乘车日期、预售时间、乘车人、班次信息即可。

开始运行:python run.py r

如果开启代理,先将ip加到proxy_list执行:python run.py c

image.png

那么只能找源码调试了:inter/SubmitOrderRequest文件.submitOrderRequest类.sendSubmitOrderRequest方法

def sendSubmitOrderRequest(self):

"""
提交车次
预定的请求参数,注意参数顺序
注意这里为了防止secretStr被urllib.parse过度编码,在这里进行一次解码
否则调用HttpTester类的post方法将会将secretStr编码成为无效码,造成提交预定请求失败
:param secretStr: 提交车次加密
:return:
"""
submit_station_url = self.session.urls["submit_station_url"]
submitResult = self.session.httpClint.send(submit_station_url, self.data_apr())
# print(submitResult) # 调试
if 'data' in submitResult and submitResult['data']:
    if submitResult['data'] == "N":
        coi = checkOrderInfo(self.session, self.train_no, self.set_type, self.passengerTicketStrList,
                             self.oldPassengerStr,
                             self.train_date, self.ticke_peoples)
        coi.sendCheckOrderInfo()
    else:
        print (u'出票失败')
elif 'messages' in submitResult and submitResult['messages']:
    raise ticketIsExitsException(submitResult['messages'][0])

分析源码
提交订单请求的时候,在第二个if条件时直接跳过,走到else就over了,根本就没检查订单,所以作者在外层print(submitResult)看看这个结果的data是啥?

?excuse me,竟然是“0”,不是“N”

{'validateMessagesShowId': '_validatorMessage', 'status': True, 'httpstatus': 200, 'data': '0', 'messages': [], 'validateMessages': {}}
怀疑:帐号肯定能正常查询余票并下单成功的,不可能存在购买不了,所以猜测是12306返回参数改变了,让脚本没有走订票逻辑(毕竟是两年前的代码),所以改源码,让第二个if等于"0",记得是字符串哦。

if submitResult['data'] == "0": # 原来的右边条件是:"N"
再次执行,结果如下,订票成功!
image.png

于是赶紧跑去12306的app查验,果然有未支付的订单,真是太厉害了。
image.png

拭目以待

本地运行代码调试成功,只待明日查看结果,是否会订票成功,不然还是摆脱不了找黄牛的命运!!!

只希望疫情得以控制,否则就算是有票,根据严重情况,都有可能把线路都停运了。

目录
相关文章
|
20天前
|
视频直播
大咖与小白的日常:如何明目张胆地在老板面前摸鱼
上班时间抢红包、看帅哥视频?——不不不,老板,我只是在测试超低延时直播和体验高清。
上班摸鱼专区
上班摸鱼必备,职场人摸鱼小游戏
上班摸鱼专区
|
开发者
打工人必备摸鱼神器Hurry home(下班回家)保姆式使用教程
打工人必备摸鱼神器Hurry home(下班回家)保姆式使用教程
133 0
打工人必备摸鱼神器Hurry home(下班回家)保姆式使用教程
|
监控 安全
你们要的摸鱼神器,今天它来了,千万不要让你的老板看到
你们要的摸鱼神器,今天它来了,千万不要让你的老板看到
154 0
你们要的摸鱼神器,今天它来了,千万不要让你的老板看到
|
数据挖掘 Android开发
过年用神器抢了2天的红包,猜猜结果怎么样?
这是一篇神器使用的介绍贴,这里给大家说一下最近用了2天红包外挂的感受!每到过年,就会有一堆红包因为自己来不及抢,可能会错失一个亿。而今年在龙哥的介绍下,加了一个红包神器的销售商,准备抢他个第一桶金。
131 0
过年用神器抢了2天的红包,猜猜结果怎么样?
|
编解码 达摩院 算法
圣诞节,在奶奶身边云烤火!
“听这声音仿佛回到了小时候,不仅脑海里有画面,甚至还有温度味道。” “隔着屏幕已经感受到火光和扑面而来的温暖了” “没想到在淘宝直播间也能听到asmr”
圣诞节,在奶奶身边云烤火!
|
物联网 云计算 监控
我们和全球的朋友一起回家
昨天上午9点30分,阿里巴巴集团(09988.HK)正式在港交所挂牌交易,成为首个同时在美股和港股两地上市的中国互联网公司。
1284 0
|
大数据
|
机器学习/深度学习 人工智能 TensorFlow

热门文章

最新文章