NEFU Fuxk Courses Selection
这是一个使用 selenium 编写的一个简单的林带选课脚本,实现了多线程模拟点击自动登录,以及批量数据爬取的功能。
脚本是开源的,开源地址在Github: https://github.com/ittuann/NEFU-CoursesSelection
东北林业大学,教务系统选课、抢课Python脚本。脚本基本适用于所有的选修课,包括公选课,通识教育选修课,以及专业选修课。
首先,脚本仅用于技术学习交流,使用脚本后果自负,以及Fuxk那些抢课来卖的同学。
这个脚本诞生的原因就是现在太多的同学抢课来倒卖,而本抢课脚本可以在有人退选课程后的短时间内选中该课,阻断倒卖课的渠道。
希望有一天教务系统的服务器和选课逻辑能改善
使用方法
以 Windows 为例:
环境配置
首先需要简单的环境配置:
- 下载脚本: https://github.com/ittuann/NEFU-CoursesSelection/releases/latest
- 需要 Python 环境,然后安装
Selenium
pip install selenium
- 然后需要下载
Chrome Driver
打开 https://chromedriver.chromium.org/downloads 网页,找到适合的版本然后下载chromedriver_win32.zip
- 将压缩包解压,并复制
chromedriver.exe
的路径 - 修改脚本第16行
driver_path
变量,将路径更换成刚刚复制的内容。
例如,把默认的内容
driver_path = r"C:\Download\chromedriver_win32\chromedriver.exe"
修改为
driver_path = r"D:\chromedriver.exe"
运行脚本
首先在Windows中搜索并打开 “命令提示符”
然后进入到脚本所在文件夹(文件夹的路径需要替换成你自己的)
cd C:\Users\Download\NEFUCourseSelection
之后即可运行脚本。
python main.py
脚本需要依次输入学号、密码、选课页面的网站、课程名称、是否使用WebVPN
- 选课页面的网站需要在教务系统中手动获得。在
培养管理 -> 选课中心
,复制[进入选课]
的链接并粘贴到脚本即可。 - 课程名称可以输入单个或多个,每行一个名称。
- 是否使用WebVPN,取决于是否在校园网内。如果没连接校园网则必须使用,在校园网内则都可以。
脚本的原理简单来说就是每0.5s左右轮询来选一次这门课,看有没有同学退课,或是有没有奸商在尝试卖课。如果长时间没有反应被弹出则自动重新登录。我测试的是在暑期小学期来抢通识教育选修课,挂一天抢到的概率还是蛮大的。
脚本对于每个课程都创建了一个独立的线程来抢课。当然也可以同时运行多个。
最后,使用脚本后果自负,以及Fuxk抢课来卖的同学。
运行截图