学堂在线 python_利用API获取【学堂在线】课堂练习答案

学堂在线 python_利用API获取【学堂在线】课堂练习答案

学堂在线获取课堂练习答案

前言

本文内容会涉及到以下文章的内容,建议首先阅读以下文章

先康康效果

原理

学堂在线的课堂练习题目通过下面这个API返回

之前看到有人写了个优学院(Ulearning)自动答题脚本,原理就是利用了优学院的获取答案的API

我就想看看,这个json里会不会有答案呢?

结果看了一下,还真就有。。

JSON结构在这里不多分析了,直接看答案在哪

如图

JSON-data-probelms-x(问题序号,从0开始)-user-answer

(原谅我笨拙的表达方法..不太懂json)

简单的python实现

拿这个练习举例

这里,1340122就是上篇文章提到的页id,而这个 224269 ,方便起见,我这里就叫它 答案ID 吧

那么这个答案ID是怎么来的?

在这个API返回的json里

这个URL的参数在上篇文章都有提及

请带cookies发送GET请求

通过这个,可以查询到当前 页的信息,也就是 leaf_info

其中可以提取到 leaf_type_id ,也就是我说的 答案ID

目前来看,只有 exercise 和quiz类型的 页 对象 才会有具体值,其他对象的 leaf_type_id 值为 null

完成上面的理解之后,就可以拿Python来写个小程序实现一下

代码风格不太健康,仅供参考

import requests

response = requests.get(‘https://next.xuetangx.com/api/v1/lms/exercise/get_exercise_list/224270/‘, headers=headers)

Dict = response.json() #把json直接转成dict

problems = Dict[‘data‘][‘problems‘]

answers = ‘‘

for problem in problems:

answer = each[‘user‘][‘answer‘][0]

answers = answers + answer

print(‘答案就是!!‘ + answers)

#输出

#答案就是!!CCCAACCCCBAC

🖌️ 相关文章

一款只管理不收纳的物品App
365bet官网娱乐网址

一款只管理不收纳的物品App

📅 11-24 👁️ 1502
浙江省邮编
365网站打不开了

浙江省邮编

📅 07-01 👁️ 8300
如何突围十面“霾”伏?
365平台是什么

如何突围十面“霾”伏?

📅 11-11 👁️ 1529