正方教务选课工具——XkTool
XkTool
📌 声明:
选课脚本Demo,仅支持自用,禁止用于个人盈利或其他非法用途,使用本程序导致的任何问题由使用者自行承担。
碎碎念:
“欲买桂花同载酒,终不似,少年游”,大三时开发的脚本,目前暂时仅测试过一次,真的是和大一大二时拥有的感觉是不一样的,希望大家都能在最先想做的时候去完成一件事情,随缘维护更新,关于脚本使用有问题,请提issue并留下联系邮箱和问题。欢迎star,感谢支持!
null
2025/3/16
功能列表
- 支持自动获取
xkkz_id
、kklxdm
,支持动态获取可选课程类别 - 支持课程筛选,如课程名称,课程归属,上课时间,是否有余量筛选
- 支持自动选择最优服务器及手动选择服务器
- 支持自动使用保存的cookie登录,无需反复登录
- 支持请求速度的控制
- 支持已选课程查询
- 支持已选课程退课
- 支持验证码自动填写
📌 注意:
本脚本仅适用于选课,而非抢课,旨在模拟用户选课,较浏览器会少加载些前端资源,速度稍快一些,具体速度还是以服务器响应为准,其他请求和浏览器保持一致。
使用教程
方法一
在Releases中下载打包好的exe文件(exe可能会被误报,运行不了请关闭杀软后重试)
配置url.txt,即教务系统网址,支持填写多个url,每行一个,参考示例:
1
2
3http://xxx.xx.xx.xx
http://example1.edu.cn
http://example2.edu.cn双击运行程序
方法二
环境依赖:Python 3.x,Windows
安装环境
1
pip install -r requirements.txt
配置url.txt,即教务系统网址,支持填写多个url,每行一个,参考示例:
1
2
3http://xxx.xx.xx.xx
http://example1.edu.cn
http://example2.edu.cn运行程序
1
python main.py
📌 注意:
选课建议使用筛选功能,默认会获取全部课程的课程详情,会有不必要的请求,可能造成服务器压力过大,同时建议获取课程详情间隔时间大于1s,以避免影响其他同学正常选课。
修改建议
参数说明
必修课-必要参数
1
2
3
4
5
6
7
8
9
10rwlx:1
xkly:1
zyh_id:1103
njdm_id:2024
bh_id:24xxxxx
xkxnm:2024
xkxqm:12
kklxdm:01 // 控制选课类别,01代表必修课
kspage:1
jspage:2000特殊课程-必要参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18xqh_id:1
jg_id:11
zyfx_id:xxx
njdm_id:2024
bh_id:24xxxxx
xbm:1
xslbdm:09
mzm:01
xz:4
ccdm:3
xsbj:xxxxxxxxx
xkxnm:2024
xkxqm:12
kklxdm:09 // 控制选课类别,09代表特殊课程
kspage:1
jspage:10
// 相较于必修课程,需加参数 mzm,xz,jg_id,并修改kklxdm
// kklxdm:01 > 必修课程, 10 > 选修课程, 09 > 特殊课程 <体育课还未测试>通识选修课获取课程详情-必要参数
1
2
3
4
5
6
7
8xqh_id:1
njdm_id:202x
xkxnm:2024
xkxqm:12
xkxskcgskg:1 // 定值
kklxdm:10 // 代表通识选修课
kch_id:1xxxxxxx // 课程号id,同一门课的kch_id是一致的
xkkz_id:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // 选课类别标识符筛选参数
课程名称
1
filter_list[0]:xxxx // 筛选课程名称,比如高等数学
上课时间
1
sksj_list[0]:3 // 筛选上课星期,比如星期三=3
课程归属
1
2
3
4
5// 课程归属编号,不同学校不一样,请自行测试并修改
kcgs_list[0]=1,人文社会科学
kcgs_list[0]=2,自然科学与技术
kcgs_list[0]=3,艺术与审美
kcgs_list[0]=7,创新创业是否余量
1
yl_list[0]:1 // 筛选是否有余量 1代表有,0代表没有
不同学校需要的参数不一样,建议自行测试修改
运行效果
参考项目
特别鸣谢以下大佬的项目:
psychocosine大佬的开源项目GXU_Spider
遵循协议
本项目遵循GPL-3.0 license协议
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 null's Blog!
评论