python实现自动刷平台学时

背景

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

分析思路

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

情况一

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

情况二

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

操作

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

效果

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/174818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东秒杀之商品展示

1 在gitee上添加.yml文件 1.1 添加good-server.yml文件 server:port: 8084 spring:datasource:url: jdbc:mysql://localhost:3306/shop_goods?serverTimezoneGMT%2B8driverClassName: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceusername: rootpa…

SQL 查询优化的 10 个案例!

在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。 SQL优化…

多功能音乐沙漏的设计与实现

【摘要】随着当今社会快节奏生活的发展,当代大学生越来忽视时间管理的重要性,在原本计划只看几个视频只玩几个游戏的碎片化娱乐中耗费了大量的时光,对于自己原本的学习生活产生了巨大的影响。为更加有效的反映时间的流逝,特设计该…

智慧公厕客流统计,是通过什么原理实现的?

在这个信息爆炸的时代,科技已经深刻地渗透到我们生活的方方面面,就连那些看似与现代社会脱节的公厕,也迎来了智慧时代的冲击。智慧公厕客流统计系统的崭新面貌,不仅实现了对卫生间使用情况的精准监测,更为城市管理者提…

第十七章 解读PyTorch断点训练(工具)

主要有以下几方面的内容: 对于多步长训练需要保存lr_schedule初始化随机数种子保存每一代最好的结果 简单详细介绍 最近在尝试用CIFAR10训练分类问题的时候,由于数据集体量比较大,训练的过程中时间比较长,有时候想给停下来&…

Gitee上传代码教程

1. 本地安装git 官网下载太慢,我们也可以使用淘宝镜像下载:CNPM Binaries Mirror 安装成功以后电脑会有Git Bush标识,空白处右键也可查看。 2. 注册gitee账号(略) 3. 创建远程仓库 4. 上传代码 4.1 在项目文件目录…

go当中的channel 无缓冲channel和缓冲channel的适用场景、结合select的使用

Channel Go channel就像Go并发模型中的“胶水”,它将诸多并发执行单元连接起来,或者正是因为有channel的存在,Go并发模型才能迸发出强大的表达能力。 无缓冲channel 无缓冲channel兼具通信和同步特性,在并发程序中应用颇为广泛。…

坚鹏:贵州银行西南财经大学零售业务数字化转型与场景营销策略

中国银保监会2022年1月正式发布了中国银保监会发布《关于银行业保险业数字化转型的指导意见》,这标准着中国银行业从局部的数字化转型向全面的数字化转型转变,进一步加速了银行数字化转型高潮的到来。 《关于银行业保险业数字化转型的指导意见》提出明确…

【教学类-06-12】20231126 (二)三位数 如何让加减乘除题目从小到大排序(以0-110之间加法为例,做正序排列用)

结果展示 背景需求: 二位数:去0 三位数(需要排除很多0) 解决思路 一、把数字改成三位数 二、对数组内的题目,8种可能性进行去“0”处理 1、十位数(去百位数0)十位数(去百位数0&am…

淘宝商品详情数据API接口php java python

在当今竞争激烈的电子商务环境中,如何提高用户体验、提升运营效率并保障交易安全性是每个电商平台都需要关注的问题。淘宝作为中国最大的综合性电商平台,一直在不断创新和完善自身的服务体系。其中,淘宝商品详情API接口在跨境系统中发挥着越来…

【C/PTA】指针专项练习(一)

本文结合PTA专项练习带领读者掌握指针,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 目录 6-1 删除字符串中数字字符6-2 找最大值及其下标6-3 求两数平方根之和6-4 求一组数中的最大值、最小值和平均值6-5 两个4位正整数的后两位互…

HuggingFace学习笔记--Tokenizer的使用

1--AutoTokenizer的使用 官方文档 AutoTokenizer() 常用于分词,其可调用现成的模型来对输入句子进行分词。 1-1--简单Demo 测试代码: # 分词器测试Demo from transformers import AutoTokenizerif __name__ "__main__":checkpoint "…

数据增强让模型更健壮

在做一些图像分类训练任务时,我们经常会遇到一个很尴尬的情况,那就是: 明明训练数据集中有很多可爱猫咪的照片,但是当我们给训练好的模型输入一张戴着头盔的猫咪进行测试时,模型就不认识了,或者说识别精度很低。 很明显,模型的泛化能力太差,难道戴着头盔的猫咪就不是猫…

线性分类器--数据处理

数据集划分 通常按照 70%,20% ,10% 来分数据集 数据处理 斯坦福的线性分类器体验 http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

找工作面试技巧

问题描述:找工作时,不知道如何回答问题怎么办。 问题解决:可以尝试使用STAT原则来回答问题。具体如下。 "STAR" 原则是一种常用于回答面试问题的方法,特别是在描述个人经验、解决问题或展示技能和能力时。"STAR&q…

【解决视觉引导多个位置需要标定多个位置的问题】

** 以下只针对2D定位,就是只有X、Y、Rz三个自由度的情况。** 假设一种情况,当视觉给机器人做引导任务时,零件有多个,分布在料框里,视觉需要走多个位置去拍,那么只需要对第一个位置确定拍照位,确…

QContextMenuEvent 是 Qt 框架中的一个类,用于表示上下文菜单事件

QContextMenuEvent 是 Qt 框架中的一个类,用于表示上下文菜单事件。 上下文菜单事件(Context Menu Event)在用户右击部件时触发,通常用于显示上下文菜单。这些菜单可以包含与所选部件相关的操作和选项。 QContextMenuEvent 类提…

C语言重点编程题——1-10

目录 1.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。 2.编程序,按下列公式计算e的值(精度为1e-6)e=1+1/1!+1/2!+1/3!.......1/n! 3.编程,输入n个整数,求这n个数的偶数平均值,并输出。 4.若一个3位整数的各位数字的立方和等于这个整数,则称之为“水…

美SEC与贝莱德,对比特币现货ETF申购方式产生分歧!

比特币现货ETF的通过时间是市场投资者密切关注的议题。虽然SEC最近推迟了Hashdex、富兰克林邓普顿(Franklin Templeton)和GlobalX申请的决议时间,但彭博ETF分析师James Seyffart对明年一月通过的机率持乐观态度,认为其通过的机会能…

Java - Stream Filter 多条件筛选过滤

Java Stream流中Filter用于通过设置的条件过滤出元素 ,示例如下: List strings Arrays.asList(“abc”, “”, “bc”, “efg”, “abcd”,"", “jkl”);List filtered strings.stream().filter(string -> !string.isEmpty()).collect(C…