基于Python和selenium–广东省干部培训网络学院自动登录学习脚本

/ 0评 / 1

前提:因为我姐需要帮她挂机刷学时~而我自己又懒~于是就直接谷歌了一下...

在这位大神的前提下修改了一下:https://www.52pojie.cn/thread-1105553-1-1.html

主要这位大神的代码是直接还有多少个未学习/正在学习的都全部打开窗口,不符合最新规则只能打开一门进行学习

因为自己学python 也不久.菜逼一个~

使用前需要安装浏览器对应的驱动,代码使用的是谷歌浏览器,因此自行百度/谷歌如何下载安装谷歌浏览器驱动~

python建议直接安装Anaconda吧,就不用每个都pip了~

ps:记得弄个网络好哒~我这边没考虑啥报错的问题~如果遇上什么鹏博士那些的话就节哀吧~

代码如下:


然后在玩这个的同时,又想着能不能直接让python自己去识别验证码呢?

于是乎就在上面的代码基础上,弄了一个自动识别验证码的脚本,但是pytesseract识别率是真的差(可能我百度来的脚本不行?)

使用前下面脚本时,需要先预装tesseract-ocr,怎么下载安装记得百度噢

代码如下:

好了~你以为就完了?

其实在弄这两个脚本的时候,我试过直接用Js脚本无线循环请求也是可以达到的...

因为这个学习系统是用scorm标准记录学习时间及其进度,但是你如果看了他的播放页面源码,可以知道无非就是一直请求这几个URL:

https://url/resplay/resCoursse/createRes (请求课程信息)

https://url/resplay/resCoursse/heartbeat(间隔1分钟提交一个你的学习时间,叠加时间提交的)

https://url/resplay/resCoursse/finished(在关闭页面是提交的)

url是啥你自行去找到...我怕犯法...

然后测试可以用postman 去(post)请求一下

https://url/resplay/resCoursse/createRes (请求课程信息)

请求参数:

labelId--在播放页面URL上面有,因为是默认还是每个人不一样我就不知道了~

courseId--科目id,在播放页面URL上面有

请求头:

token--你账号的token


https://url/resplay/resCoursse/heartbeat(间隔1分钟提交一个你的学习时间,叠加时间提交的)https://url/resplay/resCoursse/finished(在关闭页面是提交的)

请求参数:

labelId--在播放页面URL上面有,因为是默认还是每个人不一样我就不知道了~

courseId--科目id,在播放页面URL上面有

event-->beat

scoData-->{"cmi.core.session_time":"10:44:02","cmi.core.lesson_location":56079}


我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=dj4ezspgtlkv

发表评论

电子邮件地址不会被公开。 必填项已用*标注