NEUQ_RushCourse/README.md
2025-08-05 13:34:36 +08:00

55 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### **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. 让脚本保持运行,直到终端输出 **“已投放”** 或类似成功信息,即表示抢课成功。