woshigzp 发表于 2021-12-2 14:00

用Python实现海淀驾校约车抢课

本帖最后由 woshigzp 于 2021-12-2 14:02 编辑

上班族不容易,只能周末去驾校学车,造成驾校周末资源非常紧张。因此用python写了一个抢课的脚本,目前成功率100%。
温馨提示:
1、本代码仅用于学习交流,不可用做其他用途,责任自负。
2、本代码只是科目二的,我没学到科目三,因此还没办法分析接口,后续更新。
3、如果有朋友需要其他驾校的约车代码,可以免费帮忙撸代码。
4、服务器有防范机制,不要频繁刷新,不然会提示你账号访问过于频繁。

================================================================================
一、接口分析
1、 电脑安装mitmproxy,也可以用其他代{过}{滤}理软件(fiddler等)
2、手机设置相应的代{过}{滤}理ip和端口
3、打开海驾app,登陆,
第一个接口:采用post方法,提交的参数包括手机号和密码,其中手机号是明文,密码是md5加密
接口地址 http://api.xuechebu.com/usercenter/userinfo/login

response 的header里面设置了两个cookie,payload里面是用户的一些数据(包括各种号码,类型信息等),这些数据有些是有用的,需要在后面用到。
(顺便吐槽一句,他的密码存在了SCHOOLPWD字段,居然是明文传回来的,开发app的不负责任啊)


------------------------------------------------------------------------------------------------------------
第二个接口:这个平台可能给几个驾校开发了软件,上一步只是登录他们公用的平台,这一步可以看作是登录海驾(通过网址前缀可以出来)
采用GET方法,url里面有几个字段,是上一步返回的数据里面内容,cookie就是上一步返回的cookie
response的header里面返回了一个新的cookie,需要和以前的cookie合并,用于后续的请求,payload里面同样返回了一些数据,有些有用,有些没用
接口地址:http://haijia.xuechebu.com:8008/Student/setbadingstuinfo

------------------------------------------------------------------------------------------------------------
第三个接口:获取可预约时段列表,返回就是哪一天有多少车可以约

接口地址:http://haijia.xuechebu.com:8008/KM2/GetYysdList


-------------------------------------------------------------------------------------------------------------
第四个接口:选择一天,获取有哪些车可以约,返回的是可以预约的车和教练信息
接口地址:http://haijia.xuechebu.com:8008/KM2/ClYyCars2

---------------------------------------------------------------------------------------------------------------
第五个接口:预约车辆,其中最重要的是param这个参数,里面是你想约的教练员信息,如果预约成功就返回0,

接口地址:http://haijia.xuechebu.com:8008/KM2/ClYyAddByMutil


二、脚本使用
1、在config.ini文件中的设置登录手机号以及密码,密码是明文的,程序里面会用MD5加密。
2、在config.ini文件中的设置server酱的sendkey,这样约车成功或者代码报错可以及时通知到微信,不需要通知的可以自己删除有关代码
3、在task.csv文件中设置要预约的日期和时段,时段2004-2006分别对应早中晚时段
4、海淀驾校是提前一周的早上7:35可以约车(本周六早上7:35预约下周六的车),代码比较简单,没有日期判断,因此需要提前一天晚上运行起来
5、服务器与标准时间会有一定的差距,因此要根据服务器时间抢课,提前十秒钟开始登录,获取所有可预约的车辆,构造成请求参数存在列表中;服务器到达标准时间7:35,遍历所有可用车辆进行抢课(暂时没必要多线程也可以抢到)
三、运行截图



=======================================================================================
这是一个预约抢课的脚本,比较简陋,但是成功率还行。还有一个刷课脚本,用于抢那些别人退掉的课,大家有需要的话,后期会发出来。

woshigzp 发表于 2021-12-2 23:32

高苗苗 发表于 2021-12-2 16:41
以前在学校的时候报了海淀驾校的暑期速成班,确实省心,啥都不用自己约,一个多月拿本

在学校还是好,上班族只能周末去学

李杨 发表于 2021-12-2 14:43

考驾照必备

plokij890 发表于 2021-12-2 14:43

现在找教练约车信封不够真的很难约

szdsj2021 发表于 2021-12-2 14:45

大佬厉害,

chenballack 发表于 2021-12-2 14:45

厉害,去年刚从海驾学完本儿

Sen 发表于 2021-12-2 14:54


去年刚从海驾毕业,哈哈哈

jay19118isme 发表于 2021-12-2 15:03

来看看,感谢楼主分享~

qq8393991739 发表于 2021-12-2 15:40

来看看,感谢楼主分享...

mwy1024 发表于 2021-12-2 15:41

苏州这都是固定教练,只是现在考试科三难约,等的人太多了。

JonminT 发表于 2021-12-2 16:04

哈哈哈哈哈{:301_998:}有什么用呢
页: [1] 2 3
查看完整版本: 用Python实现海淀驾校约车抢课