STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

import re import json from html import unescape def parse_exam_html(html_content): print(f"HTML内容长度: {len(html_content)}") # 尝试提取所有题目信息 questions = [] # 处理document.write内容 doc_write_re = re.compile( r'document\.write\(\s*([\'"])(.*?)\1\s*\);', re.DOTALL | re.IGNORECASE ) # 提取所有document.write内容并合并 all_contents = [] for match in doc_write_re.finditer(html_content): content = match.group(2) content = unescape(content)

en(questions) + 1}", "question": question, "options": options, "ansopt": ansopt, "answer": answer_text, "score": score }) except Exception as e: print(f"解析题目时出错: {str(e)}") return questions # 示例用法 if __name__ == "__main__": with open("exam.html", "r", encoding="utf-8") as f: html_content = f.read() parsed_questions = parse_exam_html(html_content) print(json.dumps(parsed_questions, ensure_ascii=False, indent=4)) # 额外需要注意的逻辑点 # 1. 正则表达式可能无法覆盖所有HTML结构,需根据实际页面调整。 # 2. 如果HTML内容过大,建议分块处理以提高性能。 # 3. 确保输入的HTML编码正确,避免解析过程中出现乱码。 [2025-05-13 09:39:52 | AI写代码神器 | 203点数解答]

相关提问