Skip to content

这是一个爬取重庆邮电大学教务在线数据的工具库,灵感来源于@juzi214032,他开发一个在Java可以运行的CQUPT-SDK,所以我开发了Python版本。这个库可以支撑你开发属于你自己的校园应用,不再让项目终止于无法获取校园数据这个问题上。

License

Notifications You must be signed in to change notification settings

hackxg/CQUPT-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CQUPT-SDK

LongM

  • 简介
    • 这是一个爬取重庆邮电大学教务在线数据的工具库,灵感来源于@juzi,他开发一个在Java可以运行的CQUPT-SDK,所以我开发了Python版本。 这个库可以支撑你开发属于你自己的校园应用,不再让项目终止于无法获取校园数据这个问题上。
    • 我设置了cookie保留机制与cookie有效性判断机制,避免重复访问导致并发量过高。
    • 如果你需要内外网入修改config中对应地址即可
    • 安装方式: pip install CQUPTSDK
  • Login登录
    • Login(username,passwd)你需要提供 统一识别认证码 对应的密码
    • 登录后会在本地保存Cookie信息
  • GetStudentInfoService获取信息
    • GetStudentInfoService(username,passwd,code)
    • 同样需要提供 统一识别认证码 对应的密码 会首先判断cookie是否有效,无效时重拨
    • code代表信息类别
    • code=1 获取基本信息
    • code=2 获取扩展信息
    • code=3 #获取照片 返回base64格式
  • GetStudentSchedule获取学生课表
    • GetStudentSchedule(studentid=None,studentname=None)
    • 此接口无需登录你需要提供 studenid:学号 或者 studentname:学生姓名
    • 对应的是通过学号直接查询课表 通过姓名查询课表(返回学生列表与学号 自行处理)
  • GetStudentExam获取考试安排
    • GetStudentExam(username,passwd)
    • 提供 统一识别认证码 对应的密码
    • 返回json格式 自行处理
  • GetNullRoom获取空教室
    • GetNullRoom(start,end,week,time1=False,time2=False,time3=False,time4=False,time5=False,time6=False)
    • start 起始周 end 结束周 week 星期 time1:1-2节 time2:3-4节 ..... time6: 11-12节
    • 返回列表 [‘2115’,‘2116’,‘2117’] 自行处理
  • 调用例子

    import CQUPTSDK

    login=CQUPTSDK.Login('username','password') #同一用户调用一次即可 重复调用也会进行判断

    返回登录结果

    NullRoom=CQUPTSDK.GetNullRoom("1","1","1",True,True)

    #获取空余教室名单 参数1代表 起始周 参数2代表 结束周 参数3 代表**星期** 后续参数代表**时间段**

    返回结果:

    ['2100', '2101', '2102', '2105', '2106', '2107', '2108', '2109', '2115', '2116', '2117', '2201', '2202', '2205', '2206', '2207', '2209', '2214', '2215', '2216', '2217', '2301', '2302', '2305', '2306', '2308', '2309', '2310', '2311', '2314', '2315', '2316', '2401', '2402', '2405', '2406', '2408', '2409', '2410', '2411', '2414', '2415', '2416', '2503', '2506', '2507', '2508', '2509', '2510', '2511', '3101', '3102', '3103', '3104', '3105', '3106', '3107', '3108', '3109', '3110', '3111', '3201', '3202', '3203', '3204', '3205', '3206', '3207', '3208', '3209', '3210', '3211', '3212', '3301', '3302', '3303', '3304', '3305', '3306', '3307', '3308', '3317', '3401', '3402', '3403', '3404', '3405', '3406', '3407', '3408', '3419', '3501', '3502', '3503', '3504', '3505', '3506', '3507', '3508', '3515', '4101', '4102', '4103', '4104', '4105', '4106', '4107', '4201', '4202', '4203', '4204', '4205', '4206', '4207', '4208', '4209', '4210', '4211', '4212', '4213', '4214', '4215', '4216', '4217', '4301', '4302', '4303', '4304', '4305', '4306', '4307', '4308', '4309', '4310', '4311', '4312', '4313', '4314', '4315', '4316', '4317', '4401', '4402', '4403', '4404', '4405', '4406', '4407', '4408', '4409', '4410', '4411', '4412', '4413', '4414', '4415', '4416', '4417', '4501', '4502', '4503', '4504', '4505', '4506', '4507', '4508', '4509', '4510', '4511', '4512', '4513', '4514', '4515', '4516', '4517', '4601', '4602', '4603', '4604', '4605', '4606', '4607', '4608', '4609', '5200', '5201', '5202', '5203', '5204', '5205', '5300', '5304', '5305', '5313', '5401', '5402', '5403', '5404', '5405', '5406', '5413', '5601', '5602', '8121', '8122', '8123', '8124', '8131', '8132', '8133', '8134', '8141', '8142', '8143', '8144', '8151', '8152', '8251', '8252']

    StudentExam=CQUPTSDK.GetStudentExam('username','password')

    #获取用户考试安排 需要**当前用户登录**

    返回结果:

    {"1": ["1", "2017214056", "姓名", "期末", "A2130330", "操作系统", "rnttt", "20周", "1", "第9-10节 19:30-21:30", "3109", "41", "待定"], "total": 1}

    StudentSchedule=CQUPTSDK.GetStudentSchedule(studentid='20172140xx')

    #获取学生课表 参数一是 学号 参数二是 姓名 两者取一 后者返回通过姓名查询的列表 需要进一步操作

    返回结果:

    {"1": ["理论", "A2130330-操作系统", "A13192A2130330010", "必修", "正常 ", "刘红", "星期1第9-11节 2-8周", "4317"], "2": ["理论", "A2130330-操作系统", "A13192A2130330010", "必修", "正常 ", "刘红 ", "星期4 第5-6节2-8周 ", "4411"], "3": ["理论", "A2130530-大数据分析与处理", "A13192A2130530001", "选修", "正常 ", "徐光侠", "星期1第5-6节 3-8周", "E资源开发实验室(综合实验楼A501/A502)"], "4": ["理论", "B1220070-大学生职业发展与就业指导2", "A13192B1220070078", "必修", "正常 ", "任婷", "星期2第5-6节 2-9周", "2402"], "5": ["实验实践", "A2130400-软件开发综合实训", "SJ13192A2130400003", "必修", "正常 ", "吴勇", "星期0无安排 9-20周", "待定"], "6": ["实验实践", "A2130330-操作系统", "SK13192A2130330010", "必修", "正常 ", "刘红", "星期2第3-4节 4-7周", "计算机教室(五)(综合实验楼B403/B404)"], "7": ["理论", "A1090030-体育(俱乐部)-网球初级", "T00192A1090030022", "必修", "正常 ", "王梦轶", "星期5第7-8节 1-8周", "待定"], "total": 7}

    StudentInfo=CQUPTSDK.GetStudentInfoService('username','password')

    #取信息 提供三种接口 接口1 取基本信息 接口2 取扩展信息 接口3 取照片

    返回结果:

    {'data': {'stuNumber': '20172140**', 'realName': '姓名', 'grade': '13001702', 'academy': '软件工程学院'}, 'code': '0'}

2020/6/24

About

这是一个爬取重庆邮电大学教务在线数据的工具库,灵感来源于@juzi214032,他开发一个在Java可以运行的CQUPT-SDK,所以我开发了Python版本。这个库可以支撑你开发属于你自己的校园应用,不再让项目终止于无法获取校园数据这个问题上。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages