python解析考试题库数据

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 应单位要求需要参加某个考试,但考试需要从手机端登陆学习,1000多道题需要挨个刷一遍太过于麻烦,萌生了把题目和答案全部扒下来的想法,再用python做数据的清洗和梳理,最后整合出来所有的考试题库信息。

应单位要求需要参加某个考试,但考试需要从手机端登陆学习,1000多道题需要挨个刷一遍太过于麻烦,萌生了把题目和答案全部扒下来的想法,再用python做数据的清洗和梳理,最后整合出来所有的考试题库信息。

  1. 首先打开浏览器分析数据包,找到批量查询到的题目数据,在Response可以看到返回的数据,从中找一下关键题目,然后直接拷贝出来就行,这个请求包含所有数据,就不用再挨个模拟请求了。

  1. 抓取到的数据太过于多,包含了各种html的信息,可以把题目的数据单独拷贝出来

  1. 找到json数据的规律,让python批量解析json会容易很多,这里可以使用文本编辑器批量替换的功能,将"p_questions.push("替换成{, 再将"})"替换成"," ,这样就有了json的基本key-value结构,最后加上[]以列表形式呈现,这样就完成了数据的基本清洗。

  1. 下面可以加载json文件,以json的形式处理数据列表,逐个分析每一项的每一个字段。这里可以加入一些异常捕获逻辑,防止某个错误阻断整体流程。

import json


# 读取文件中的JSON数据

def read_json_file(file_name):

   with open(file_name, 'r') as f:

       data = json.load(f)

   return data



if __name__ == "__main__":

   data = read_json_file('data/ti.json')

   num = 1

   for line in data:

       print(str(num) + '. ' + line['description'])

       num += 1

       answer = json.loads(line['answer'])

       if int(line['type']) == 3:

           if str(answer['answer']) == 'false':

               print('答案:错')

           else:

               print('答案:对')

       elif int(line['type']) == 1 or int(line['type']) == 2:

           option = json.loads(line['option'])

           o_str = ''

           for o in option:

               o_str = o_str + o + ': ' + option[o] + '\n'

           print('选项:\n' + o_str)

           print('答案:' + str(answer['answer']))


       if answer['analysis'] is not None:

           print('解析:' + answer['analysis'])


最终将生成的数据导入word中,形成可以看的文档。

目录
相关文章
|
2天前
|
Python
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
|
4天前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
17 7
|
3天前
|
机器学习/深度学习 算法 Python
Python 使用SMOTE解决数据不平衡问题(最新推荐)
SMOTE是一种强大的过采样技术,可以有效地处理不平衡数据集,提升分类器的性能。通过imbalanced-learn库中的SMOTE实现,我们可以轻松地对少数类样本进行过采样,平衡数据集。在实际应用中,我们可以根据具体数据集的特点和需求,选择合适的过采样方法。
|
1天前
|
存储 SQL BI
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
|
2天前
|
JavaScript 前端开发 API
Vue核心指令解析:探索MVVM与数据操作之美
Vue核心指令解析:探索MVVM与数据操作之美
|
2天前
|
监控 NoSQL MongoDB
MongoDB中的TTL索引:自动过期数据的深入解析与使用方式
MongoDB中的TTL索引:自动过期数据的深入解析与使用方式
|
4天前
|
计算机视觉 Python
Python矩阵转灰度图技术解析
Python矩阵转灰度图技术解析
5 1
|
1天前
|
存储 JSON NoSQL
深入解析RedisJSON:在Redis中直接处理JSON数据
深入解析RedisJSON:在Redis中直接处理JSON数据
|
3天前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
5天前
|
机器学习/深度学习 人工智能 前端开发
Python中的模块化编程
【6月更文挑战第17天】Python模块化编程与软件架构设计的关键在于拆分任务到独立模块,提高代码的可维护性、可重用性和可扩展性。例如,学生管理系统可分解为录入、查询和删除模块。MVC和MVVM架构模式有助于组织代码,而微服务和函数式编程将在未来发展中扮演重要角色。通过示例代码,读者能学习如何实现这些概念,提升项目开发效率和质量。
154 57

推荐镜像

更多