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