
平台的首页和网址
起因是博主在期末作业快截至的时候没有找到可以自动做题的脚本,一个一个问ai又很麻烦,就看看能不能找到api接口,遂有此贴
首先是通过分析作业的的数据包
可以看到是调用这个api来获得json
https://www.eduplus.net/api/course/homeworkQuestions/5f7d379f96584ed5b932c44d1b1a66dd/student/detail
5f7d379f96584ed5b932c44d1b1a66dd 这个应该是参数 先按下不表
在源代码处全局搜索一下homeworkQuestion

发现有一个url和我们数据包的api一模一样,我们进这个js细看
相信到这个界面,大多数人都可以猜个大概直接出结果了
但是博主还是通过函数调用,逆向一下
hwExerciseDetails({commit: s}, e) {
return n.get(`/api/course/homeworkQuestions/${e}/student/detail`).then(t => o(t))
}
看参数没有很明确,所以我们搜索看那里调用了这个函数
可以得到传进来的参数是exerciseId
搜索exerciseId可以看到
对其调用的hwExerciseList搜索找到该函数(虽然之前也看到了hwExerciseList)
里面有一个api传参是homeworkId,但是homeworkId很显然会多次出现(我搜了,太多了),所以按照ExerciseList的命名风格搜索homeworklist(hwhome搜不出来,homework也太多了)
得到api,参数是courseId,courseId可以通过某一门课的数据包获得,(打开某一个作业也可通过数据包获得对应的作业id)
通过之前获得的api拼接得到的url=https://www.eduplus.net/api/course/homeworks/published/student?courseId=68d329efdf9a4f71baf9b5a623ce3d91
得到homeworklist 再次拼接 url=https://www.eduplus.net/api/course/homeworkQuestions/student?homeworkId=915b7629d4d9483ab65720a739b8c143
得到questionlist 再次拼接 url=https://www.eduplus.net/api/course/homeworkQuestions/4cb599c562b645b6b0173ca062562900/student/detail
最后总结得到 题目存储在 course - homework - question
最后关于数据的处理及爬取,我写了一个脚本,效果如下
建议大家都好好学习(悲),不要像我一样期末才突击复习。
项目地址
Github:https://github.com/RealYasuHaru/EDUPLUS-Homework-Scraper
度盘:https://pan.baidu.com/s/1SIKInTXixHiA7NjTScX5PQ?pwd=783t 提取码: 783t
没有评论