超星多线程学习通刷课小助手2310版-python 分析第五期

 新版本已经准备好,正在测试中,请关注小号动态等

效果图和联系方式,请“转至末尾”

软件是免费的,在分析一期末尾

这几天都比较忙,每天就少更新点了

正文:

处理Audio任务

def misson_audio(objectId, otherInfo, jobid, name, reportUrl, clazzId):
    status_url = "**********".format(objectId)
    misson_headers = {
        "Referer": "*********"
    }
    misson_headers.update(global_headers)
    status_rsp = requests.get(url=status_url, headers=misson_headers)
    status_json = None
    try:
        status_json = json.loads(status_rsp.text)
    except Exception as e:
        print("该音频任务点信息读取错误", status_rsp.status_code, status_url)
        return
    duration = status_json.get('duration')
    dtoken = status_json.get('dtoken')
    print(objectId, otherInfo, jobid, uid, name, duration, reportUrl)
    elses = "/{0}?clazzId={1}&playingTime={2}&duration={2}&clipTime=0_{2}&objectId={3}&otherInfo={4}&jobid={5}&userid={6}&isdrag=0&view=pc&enc={7}&rt=1&dtype=Audio&_t={8}".format(dtoken, clazzId, duration, objectId, otherInfo, jobid, uid, encode_enc(clazzId, duration, objectId, otherInfo, jobid, uid, duration), int(time.time() * 1000))
    reportUrl_item = reportUrl + str(elses)
    video_url_list.append(reportUrl_item)
    print("检测到一个音频节点,已添加到任务列表")
    # multimedia_rsp = requests.get(url=reportUrl_item, headers=misson_headers)
    return reportUrl_item

注释: 

这段代码定义了一个名为`misson_audio`的函数,该函数用于获取音频任务的状态信息,并将相关信息添加到任务列表中。

函数接收6个参数:
- objectId:音频任务的ID
- otherInfo:其他信息
- jobid:作业ID
- name:名称
- reportUrl:报告URL
- clazzId:班级ID

函数首先构造一个用于获取音频任务状态的URL(`status_url`),然后设置请求头(`misson_headers`),包括Referer和全局请求头。接着,使用`requests.get()`方法发送GET请求,获取音频任务的状态信息。

如果请求成功,函数会尝试将响应文本解析为JSON格式。如果解析失败,函数会打印错误信息并返回。

接下来,函数从JSON数据中提取音频任务的时长(`duration`)和dtoken(一种用于标识音频节点的令牌)。然后,构造一个用于播放音频的URL(`elses`),并将其添加到`video_url_list`列表中。

最后,函数打印一条消息表示检测到音频节点并已添加到任务列表,然后返回`reportUrl_item`。

 处理video任务,校验为enc

def misson_video(objectId, otherInfo, jobid, name, reportUrl, clazzId):
    status_url = "********".format(objectId)
    misson_headers = {
        "Referer": "*********"
    }
    misson_headers.update(global_headers)
    status_rsp = requests.get(url=status_url, headers=misson_headers)
    status_json = None
    try:
        status_json = json.loads(status_rsp.text)
    except Exception as e:
        print("该视频任务点信息读取错误", status_rsp.status_code, status_url)
        return
    duration = status_json.get('duration')
    dtoken = status_json.get('dtoken')
    print(objectId, otherInfo, jobid, uid, name, duration, reportUrl)

    elses = "/{0}?clazzId={1}&playingTime={2}&duration={2}&clipTime=0_{2}&objectId={3}&otherInfo={4}&jobid={5}&userid={6}&isdrag=0&view=pc&enc={7}&rt=1&dtype=Video&_t={8}".format(dtoken, clazzId, duration, objectId, otherInfo, jobid, uid, encode_enc(clazzId, duration, objectId, otherInfo, jobid, uid, duration), int(time.time() * 1000))
    reportUrl_item = reportUrl + str(elses)
    video_url_list.append(reportUrl_item)
    # multimedia_rsp = requests.get(url=reportUrl_item, headers=multimedia_headers)
    print("检测到一个视频节点,已添加到任务列表")
    return reportUrl_item

注释:

这段代码定义了一个名为`misson_video`的函数,该函数用于获取视频任务的状态信息,并将相关信息添加到任务列表中。

函数接收6个参数:
- objectId:视频任务的ID
- otherInfo:其他信息
- jobid:作业ID
- name:名称
- reportUrl:报告URL
- clazzId:班级ID

函数首先构造一个用于获取视频任务状态的URL(`status_url`),然后设置请求头(`misson_headers`),包括Referer和全局请求头。接着,使用`requests.get()`方法发送GET请求,获取视频任务的状态信息。

如果请求成功,函数会尝试将响应文本解析为JSON格式。如果解析失败,函数会打印错误信息并返回。

接下来,函数从JSON数据中提取视频任务的时长(`duration`)和dtoken(一种用于标识视频节点的令牌)。然后,构造一个用于播放视频的URL(`elses`),并将其添加到`video_url_list`列表中。

最后,函数打印一条消息表示检测到视频节点并已添加到任务列表,然后返回`reportUrl_item`。

下面是测试成功视频 

这是个视频文件,同时运行了四个账号,并且每个账号都是多线程进行的“学习”

原视频跳转

交流方式

QQ1219235650(小号)
[email protected]

你可能感兴趣的:(学习,python,pycharm,正则表达式)