利用API获取【学堂在线】课堂练习答案
2021-03-10 19:28
标签:lang response 表达 信息 for log 类型 方法 imp 本文内容会涉及到以下文章的内容,建议首先阅读以下文章 https://www.cnblogs.com/bakaft/p/12670088.html 学堂在线课程页面URL和JSON的简单分析 学堂在线的课堂练习题目通过下面这个API返回 https://next.xuetangx.com/api/v1/lms/exercise/get_exercise_list/224269/ 其中的 224269 在后文会提及 GET的时候,只需要headers里带上Cookies就好 API返回形式:json 之前看到有人写了个优学院(Ulearning)自动答题脚本,原理就是利用了优学院的获取答案的API 我就想看看,这个json里会不会有答案呢? 结果看了一下,还真就有。。 JSON结构在这里不多分析了,直接看答案在哪 如图 JSON-data-probelms-x(问题序号,从0开始)-user-answer (原谅我笨拙的表达方法..不太懂json) 拿这个练习举例 https://next.xuetangx.com/learn/THU05021000376/THU05021000376/1515481/exercise/1340122 然而,它最终对应的题目数据API链接是 https://next.xuetangx.com/api/v1/lms/exercise/get_exercise_list/224269/ 这里,1340122就是上篇文章提到的页id,而这个 那么这个答案ID是怎么来的? 在这个API返回的json里 https://next.xuetangx.com/api/v1/lms/learn/leaf_info/1515481/1340122/?sign=THU05021000376 这个URL的参数在上篇文章都有提及 请带cookies发送GET请求 通过这个,可以查询到当前 其中可以提取到 目前来看,只有 完成上面的理解之后,就可以拿Python来写个小程序实现一下 代码风格不太健康,仅供参考 利用API获取【学堂在线】课堂练习答案 标签:lang response 表达 信息 for log 类型 方法 imp 原文地址:https://www.cnblogs.com/bakaft/p/12670490.html学堂在线获取课堂练习答案
前言
先康康效果
原理
简单的python实现
224269
,方便起见,我这里就叫它 答案ID
吧
页
的信息,也就是 leaf_info
leaf_type_id
,也就是我说的 答案ID
exercise
和quiz
类型的 页
对象 才会有具体值,其他对象的 leaf_type_id
值为 null
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
文章标题:利用API获取【学堂在线】课堂练习答案
文章链接:http://soscw.com/index.php/essay/62895.html