爬取某省2024普法考试题库

查看 101|回复 9
作者:xinxiu   
2024年的普法考试又开始了,昨天晚上花了点时间把题库和答案爬了一下,好像不太全,不过考了几个都在90分以上[Python] 纯文本查看 复制代码import requests
import json
from pprint import pprint
headers = {
    'User-Agent': 'Mozilla/5.0 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36)',
    'Referer':'https://exam.gxpf.cn',
    'Connection':'keep-alive',
    'cookies':'你的cookie',
    'a-code':'-86141162',
    'a-st':'时间戳',
    'a-tokenid':'你的tokenid',
    'a-userid':'你的userid'
}
url = 'https://exam.gxpf.cn/exercise.html?time=时间戳'
response = requests.get(url, headers=headers)
print(response)
urllist = 'https://exam.gxpf.cn/examapi/rest/api/exercise/getRandomExerciseLocalList'
responsep = requests.post(urllist, headers=headers,params={'position':'1','offset':'5000'})
print(responsep)
jsondata = json.loads(responsep.text)
pprint(jsondata)
# 创建一个列表来保存处理后的题目数据
processed_data = []
# 初始化题目序号
question_number = 1
# 创建一个集合来保存已经出现过的题目
seen_questions = set()
# 遍历result中的所有题目
for subject in jsondata['result'][0]['list']:
    subject_type = subject['subjectType']
    subject_name = subject['subject_name']
    detail = subject['detail']
    # 初始化一个列表来保存所有isResult为1的题目的itemQuestion
    item_questions_with_result = []
    # 遍历detail列表,提取每个题目的itemQuestion,如果isResult为1
    for item in detail:
        if item.get('isResult') == 1:
            item_questions_with_result.append(item.get('itemQuestion'))
    # 创建一个唯一的题目表示(这里假设题目内容是唯一的)
    unique_question_representation = (subject_type, subject_name, tuple(item_questions_with_result))
    # 检查题目是否已经出现过
    if unique_question_representation not in seen_questions:
        # 将题目类型、题目以及答案保存到列表中,并添加序号
        processed_data.append({
            "序号": question_number,
            "题目类型": subject_type,
            "题库题目": subject_name,
            "正确答案": item_questions_with_result
        })
        # 打印题目类型、题目以及答案,并包含序号
        print(f'序号:{question_number}')
        print(f'题目类型:{subject_type}')
        print(f'题库题目:{subject_name}')
        print(f'正确答案:{item_questions_with_result}')
        print('====================')
        # 更新题目序号和已见题目集合
        question_number += 1
        seen_questions.add(unique_question_representation)
# 指定要保存的文件名
filename = 'processed_questions_and_answers.json'
# 将处理后的数据写入JSON文件
with open(filename, 'w', encoding='utf-8') as file:
    json.dump(processed_data, file, ensure_ascii=False, indent=4)
# 输出文件名
print(f"数据已保存到 {filename}")
爬出来的题库和答案

processed_questions_and_answers.txt
(1.48 MB, 下载次数: 29, 售价: 2 CB吾爱币)
2024-10-24 12:42 上传
点击文件名下载附件
爬出来的题库和答案
售价: 2 CB吾爱币         [记录]
下载积分: 吾爱币 -1 CB

题目, 序号

ZeroWong1919   


dtf 发表于 2024-10-24 13:39
不会编程,这些代码怎么用呢?

1. 安装python解释器。
2. 将代码保存为 文件名.py
3. 命令行执行 python 文件名.py
4. 出现  moudule  XXX not found 的报错就在命令行执行 pip install XXX。
5. 重复步骤3
yxh51930   

谢谢 楼主 !~~~~~~~~~~~~~~
dtf   

不会编程,这些代码怎么用呢?
zpwz   

感谢GX大佬的分享!
也希望楼下的知而不言
CoinsBtc   

感谢NB大佬的分享!
xinxiu
OP
  


dtf 发表于 2024-10-24 13:39
不会编程,这些代码怎么用呢?

那你就直接下载题库得了
pales1gh   

感谢分享
huixin2017520   

可以,有用
白水剑心   

看着不会用!不知道福建省的可以不?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部