python实现自动刷平台学时

2023-11-28 22:20

本文主要是介绍python实现自动刷平台学时,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

前一阵子有个朋友让我帮给小忙,因为他每学期都要看视频刷学时,一门平均需要刷500分钟,一学期有3-4门需要刷的。 如果是手动刷的话,比较麻烦,能否帮他做成自动化的。搞成功的话请我吃饭。为了这顿饭,咱必要研究看看。话不多说,开干

分析思路

像这种看视频累加学时的我们如何来做呢?先简单分析开发的思路。一般是分为二种情况。

情况一

一种情况是在服务端的视频流上做文章,简单点说就类似srs的消费者检测机制一样。当客户端的播放视频的时候,服务端可以检测到有客户端连接过来的,就进行学时累加,关闭播放器的时候,服务端可以检测有客户端关闭了连接就停止累加,准确性比较高,但需要对流媒体的知识有一定的了解。

情况二

另外一种情况就比较简单了,客户端做心跳,每隔一段时间上报一个心跳。然后服务器将学时进行累加。

操作

废话不多说,开始操作,让朋友将平台和账号密码给过来,先登录后进行简单分析看具体是哪一种情况,
在这里插入图片描述
m3u8协议的码流,ts切片如下:
在这里插入图片描述
将请求中最后一层路径去掉,去请求看看。
在这里插入图片描述
可以分析出二个结论
1.m3u8和ts 大概率使用的是nginx做的代理。
2.因为使用了m3u8 因为m3u8是索引文件,实际上请求的是一片一片的切片,是可以手动拼接出播放源的。不太可能是第一种情况。
另外我打开了浏览器的调试,发现了一个现象。
在这里插入图片描述
每隔几个切片都会调用passBackCourseWaxxx这个接口,怀疑大概率是情况二,并且看了下这个接口的请求参数和返回,都是一样的。 基本上可以确定就是走的客户端心跳,我们只需要写点代码进行验证就可以了,验证也很简单,我们把浏览器关闭后,使用postman每隔10s调用一次,模拟心跳看看,模拟几次后,看学时是否增加就ok了。如果增加了我们只需要使用Wireshark抓包和界面的一些简单业务就可以做了。因为是学生教育的平台,避免违规出问题,这里我就不说具体的代码实现了。 大致的思路就是使用python登录,调用课程相关的接口,将课程的视频列表调用出来,然后发送心跳。 因为他的心跳需要传递参数,就模拟真实的操作就可以了,这个比较简单,基本上会点编程的都会了

效果

最后看一下效果
程序没跑之前:
在这里插入图片描述

程序跑一段时间之后
在这里插入图片描述

这篇关于python实现自动刷平台学时的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/430404

相关文章

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.