diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4c362f --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ + +### **NEUQ 抢课脚本使用说明** + +本脚本兹适用于 [https://jwxt.neuq.edu.cn/eams/stdElectCourse](https://jwxt.neuq.edu.cn/eams/stdElectCourse) 的抢课,旨在解放尼秦学生双手和情绪,无需在抢课时紧张盯着电脑。 + +#### **脚本运行逻辑** + + * 启动脚本后,等到第一个整分钟,开始运行。 + * 在非抢课时段,本脚本每十秒提交一次权重,以防止 Cookie 失效而延误时机。 + * 到达设定时间点的前五分钟,脚本开始以 0.6 秒的间隔高频提交权重(此间隔为实验得出的最短、且不触发防火墙 `rate limit` 的间隔)。 + * 脚本将持续运行,直到成功抢到课程。 + +----- + +### **如何使用?** + +首先,安装依赖库: + +```bash +pip install requests schedule +``` + +*(如果您不知道如何执行此命令,强烈建议您不要使用此脚本。)* + +**操作步骤:** + +1. 在选课页面的浏览器中,按下 `F12` 键(或者右键 -\> 检查)打开开发者工具。选择 **“网络”** (Network) 选项卡。 +![截图](https://git.ix.je/galaxy/NEUQ_RushCourse/raw/branch/main/help1.PNG) +2. 在页面上点击你想要抢的课程。 + +3. 此时,开发者工具的“网络”面板中会出现一个新的网络请求,如下图所示: +![截图](https://git.ix.je/galaxy/NEUQ_RushCourse/raw/branch/main/help2.PNG) +4. 点击这个新的请求,切换到 **“载荷”** (Payload) 选项卡,点击“查看源代码”,将显示的完整内容复制下来,替换脚本中第 63 行 `data` 变量的值(注意要作为一个字符串粘贴)。 + +5. 切换到 **“Cookie”** 选项卡,将脚本代码 53-60 行所列出的几个 Cookie 值,替换为您在浏览器中看到的对应值。 + +6. 切换到 **“标头”** (Headers) 选项卡,找到 **“请求网址”** (Request URL),复制该 URL,并用它替换脚本中第 35 行 `url` 变量的值。 + +7. 修改脚本 66-67 行的时间配置,替换为您自己的抢课目标日期和时间点。 + + ```python + 'target_date': "2025-08-05", # 目标日期 (格式: YYYY-MM-DD) + 'rush_hours': ["3:15", "10:00", "13:00", "14:00", "15:00", "16:00"], # 抢课时间点 + ``` + +8. 所有参数修改完毕后,运行脚本: + + ```bash + python3 rush_course.py + ``` + + * 如果终端输出 `course_closed`,说明脚本正在正常运行。 + * 如果出现 `error`,则说明参数已失效或配置有误,您需要尽快重复以上步骤,更换新的参数,直到正常运行。 + +9. 让脚本保持运行,直到终端输出 **“已投放”** 或类似成功信息,即表示抢课成功。 \ No newline at end of file