首页 软件代码

python项目-学习通剩余作业


功能介绍

1.显示考试和作业
2.显示作业(考试)科目名称、作业(考试)名、倒计时及截止时间。
没了。。。。

目前问题

1.当短时间内多次请求会造成学习通403拒绝请求,导致无法获取到作业或考试。
2.未加密账号和密码,虽然我的服务器也没记录,直接保存到本地cookie
3.前端太丑

项目开发经过

本项目原本是自己的一个想法,于是上网搜了一下,果真在网上找到了相应的python项目,在V2EX看到的,并且页面也很漂亮,但是自己总是部署不上(当时刚学python,对于flask等web框架不懂),询问原作者也很耐心的讲解,但自己笨还是没完成。

自己正好要学python就想自己练练手也写一个,因此我就需要完成一部分知识的学习才能开始:

1.抓包:尝试去抓取学习通app的包,用更少的请求去获取到链接。其中原作者也采用该方式。采用fiddler+夜深模拟器(安卓5.0)抓取,因为采用手机抓包,学习通会自动断网。安卓7.0及以上也不行,因为不信任用户证书。

2.flask框架:刚开始学习的时候想用django,但是迷迷瞪瞪的,于是选择了flask。

3.查询端和服务端要分离开:因为从原作者中的文章中表示,学习通会对请求多或异常的ip进行封ip,后续也从自己同学的服务器了解到了,他原本用服务器爬取学习通,最后导致ip被封。我自己也只有一个服务器,因此我不想被封,所以仅仅在测试阶段,全部采用自己的服务器来获取,后期就分离了。

完成上述后,包也抓到了,flask也会皮毛了。于是整合版本就出来了,仅仅部署在自己的服务器上,自己的室友用来了给了好评。下面
难在第三点了,我没有那么多服务器让我去当作查询端来用,最后想到了腾讯云函数看看行不行?

结果测试可以,中间有个插曲 lxml模块总是提示没安装,最后问了客服,无意中提到一句多余的话“云函数是基于linux吗?”,提问后就想到了,lxml模块在不同系统上是不同的,替换后直接成功。

所有问题都基本解决,于是就开始分离,结果很顺利,又知道了阿里云也有云计算,于是就都结合起来,设计出一个通用的查询端,服务器上部署服务端。

当用户查询,则向服务端发送请求获取返回值经过处理后返回给用户。
因为自己不会前端,所以页面直接套用的网上现成的模板,本着能用就行的心态,看待就行。

项目及免责

项目目前部署在自己的服务器上:链接为:学习通剩余作业

登录界面
查询界面

免责:
1.本站不记录、不保存学习通密码及cookie,全部保存在你的本地浏览器上,使用时才会调用。
2.查询时ip地址为自己的查询端,与您的本地ip不同。
3.如因使用本项目对您的学习通产生封号等,于本站无关。
4.使用此项目,默认出现任何情况与本站无关,否则请勿使用。

源码:
因程序尚未全部完成,且存在未知bug,目前不公开提供。如需要,可留言索取,将发送至您的邮箱。

使用地址:学习通剩余作业





文章评论

    王一生 访客ChromeLinux
    2020-10-3 8:01   回复

    老哥,很强,可以借我用用吗

      布衣者 站长ChromeWindows
      2020-10-3 11:43   回复

      可以,如果只是自用可以直接访问 https://xue.301.pub 需要源码的话,存在bug,另外界面没有美化。