最近我那上大学的小表弟找我,问我有没有办法破解他们的网课系统。
起初我是拒绝的,好好的网课不上,净想着一些乱七八糟的事情。但我再看了他们的网课内容后觉得确实没必要看,很多网课内容都是过时的,质量很差,而且画质很差。
于是我觉得帮他一把。于是我详细了解了一下小表弟的需求。
原来事情是这样的,他们大学布置了一些网课,这些网课通过账号密码登录一个web系统观看。只记录观看时长,时长累计够了就能拿到学分。一个视频看多次也可累计时长。一个视频观看后自动暂停,不可以同时观看多个视频。
在这样的规则下,找到网课中最长的那个视频,持续观看,这样效益是最大的。比如有一节网课2个小时,那么只需要看3次基本就积累够学分了。但课程很多,你并不知道那个是最长的网课,大多视频都是5-10分钟。所以在网课播放完,还需要手动点击重新播放。
聪明的读者,看懂这里你有那些思路来实现省事的累计学时的方法? 动脑筋思考一下。
一开始我是想通过某种方法找到找到一门网课中视频最长的那节课。然后重复观看,虽然也要时不时地人为地去重新播放,但已经省很多事了。
于是我尝试这编写一些代码去获取一门课中的最长视频是哪个, 把一门课中所有的视频链接多获取,然后使用浏览器打开,然后记录每个视频的长度,最后找到最长的。 按着这个思路我做到一般就放弃了。原因无他,我比较懒。
后来我突然灵光一现,不用找最长的视频,我们可以试着从播放器下手。
只要让播放器在播放完视频后,自动重新播放就完全省事了。都不需要任何人为的干预。 哈哈。。。。虽然网课的开发人员有可能规避到这个问题了,但值得一试。
于是我按下魔法键 F12,查看网站的源码,找到了用于视频播放的video
标签
一开始我还想着在当前页写一段js脚本,监听视频播放完毕后,点击重新播放按钮。
但我实在想复杂了,也高估了这个网课系统开发人员的水平。哈哈哈。。。。
我查了一下video
这个标签的属性,发现有个属性可以用于循环播放。 loop
并购,找到了,网课杀手 loop
就是你。
我把 loop="loop"
添加到 video
标签中。 在视频播放完成后,果然自动播放了。 哈哈哈。。。。看到这个结果真是让人高兴地不得了。
虽然视频能够循环播放了,但我们还需要验证一下,这样循环播放后,观看时长是否真正地增加了。
通过测试,累计观看时长确实增加了。 至此,网课杀手 loop 的故事 告一段落。
我把该方法教给表弟后,又给他推荐了一些B站上优秀的学习资料。其中就有我的GitLab CI/CD 教程视频。哈哈。。。
我是拿我格子衫来, 致力于将技术转化为生产力。