700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 模拟浏览器登录爬取合工大课表生成ics文件导入日历

模拟浏览器登录爬取合工大课表生成ics文件导入日历

时间:2023-12-15 01:45:31

相关推荐

模拟浏览器登录爬取合工大课表生成ics文件导入日历

模拟浏览器登录合肥工业大学新版教务系统获得课程表数据

将课程表转化为日历事件,生成ics文件

通过outlook邮箱/win10日历/手机日历导入ics文件

项目已完成

项目源码地址: /ssyu0808/HFUTICS

分析登录过程(感兴趣的可以自己抓包和分析页面源码)

get(http://jxglstu./eams5-student/login-salt)获得salt,也会携带着本次连接的cookie,以后的每次请求(post or get)均需要携带着这个cookie密码加密password = sha1(salt+"-"+password)post(http://jxglstu./eams5-student/login)表单数据(当然此次post携带的cookie需要和之前的get的cookie保持一致)

{"username":"学号","password":"加密后的密码","captcha":""}

到这里我们就成功地拿到了登入后的cookie,接下来需要什么数据我们就可以通过携带这个cookie来向服务器发送请求了

直奔主题,获取课表数据(datum)

分析页面(http://jxglstu./eams5-student/for-std/course-table)源码找到studentIdsemesterIdget(http://jxglstu./eams5-student/for-std/course-table/get-data?bizTypeId=2&semesterId=semesterId&dataId=studentId)从返回的json数据中得到lessonIdspost(http://jxglstu./eams5-student/ws/schedule-table/datum)表单数据,获取到datum(也即是所有课表信息)

{"lessonIds":`lessonIds`,"studentId":`studentId`,"weekIndex":""}

处理datum,处理成ics数据,导入到日历即可

结束

这里只是简要的说一下过程,详细分析步骤有时间再做。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。