Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

cdutAsyncSpider

一个基于智强教务 的大学教务接口获取 和 教务系统课表采集工具

项目概述

这是一个基于Python的异步爬虫脚本,以CDUT🦕为例。 用于登录CDUT教务系统并批量获取指定教室的课表信息。脚本采用异步编程模式,提高了数据获取效率,适用于需要批量查询教室使用情况的场景。

功能特点

  • ✅ 异步编程:使用asyncio和httpx实现异步HTTP请求,提高爬取效率
  • ✅ RSA加密:自动获取公钥并对密码进行RSA加密,确保登录安全
  • ✅ 自动登录:模拟CAS单点登录流程,自动处理重定向和表单提交
  • ✅ 批量获取:支持同时获取多个教室的课表信息
  • ✅ 本地保存:将每个教室的课表以HTML格式保存到本地

安装与使用

安装依赖

pip install httpx[http2] pycryptodome

配置与运行

  1. 修改个人信息:在main()函数中配置用户名和密码

    username = "你的学号/电话"
    password = "你的密码"
  2. 配置查询参数:

    • rooms:需要查询的教室列表,每个教室包含jsid(教室ID)、jsmc(教室名称)、jsh(教室号)等信息
    • xnxq01id:学年学期ID,格式如"2025-2026-1"表示2025-2026学年第一学期
  3. 运行脚本:

    python jwSpider.py
    
    或者在IDE中直接运行

注意事项‼️

  1. 隐私安全:请不要将包含个人账号密码的代码公开分享
  2. 使用频率:请勿高频次运行脚本,避免给教务系统服务器带来过大压力
  3. 依赖安装:确保正确安装所有依赖库,特别是pycryptodome而非Crypto
  4. 版本兼容:建议使用Python 3.7或更高版本

License

📕本项目采用 GPL-3.0 + CC BY-NC-SA 4.0 许可证开源

贡献者

  • Github @ mloong
  • Github @ KawasakiKusako

About

cdut-Async-Spider:一个基于智强教务 的大学教务接口获取 和 教务系统课表采集工具

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages