NEFU Fuxk Courses Selection

这是一个使用 selenium 编写的一个简单的林带选课脚本,实现了多线程模拟点击自动登录,以及批量数据爬取的功能。

脚本是开源的,开源地址在Github: https://github.com/ittuann/NEFU-CoursesSelection

东北林业大学,教务系统选课、抢课Python脚本。脚本基本适用于所有的选修课,包括公选课,通识教育选修课,以及专业选修课。

首先,脚本仅用于技术学习交流,使用脚本后果自负,以及Fuxk那些抢课来卖的同学。
这个脚本诞生的原因就是现在太多的同学抢课来倒卖,而本抢课脚本可以在有人退选课程后的短时间内选中该课,阻断倒卖课的渠道。
希望有一天教务系统的服务器和选课逻辑能改善

使用方法

以 Windows 为例:

环境配置

首先需要简单的环境配置:

  1. 下载脚本: https://github.com/ittuann/NEFU-CoursesSelection/releases/latest
  2. 需要 Python 环境,然后安装Selenium
pip install selenium
  1. 然后需要下载 Chrome Driver打开 https://chromedriver.chromium.org/downloads 网页,找到适合的版本然后下载chromedriver_win32.zip
  2. 将压缩包解压,并复制chromedriver.exe的路径
  3. 修改脚本第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

  1. 选课页面的网站需要在教务系统中手动获得。在 培养管理 -> 选课中心 ,复制[进入选课]的链接并粘贴到脚本即可。
  2. 课程名称可以输入单个或多个,每行一个名称。
  3. 是否使用WebVPN,取决于是否在校园网内。如果没连接校园网则必须使用,在校园网内则都可以。

脚本的原理简单来说就是每0.5s左右轮询来选一次这门课,看有没有同学退课,或是有没有奸商在尝试卖课。如果长时间没有反应被弹出则自动重新登录。我测试的是在暑期小学期来抢通识教育选修课,挂一天抢到的概率还是蛮大的。

脚本对于每个课程都创建了一个独立的线程来抢课。当然也可以同时运行多个。

最后,使用脚本后果自负,以及Fuxk抢课来卖的同学。

运行截图



东北林业大学 教务系统选课抢课脚本简单解析_chrome