【python】zujuan网,本地页面格式优化

查看 93|回复 0
作者:小恶芯   
1.确认好已正确安装python环境
2.运行RunMe.bat
3.将zujuan.py放到需要优化的本地.html同级目录中
4.运行zujuan.py即可
问1:如何在已经组好的试卷中获取有效的本地.html文件?
答:
打开浏览器,在组好的卷子的页面按F12,在Elements栏下
找到第二行的 == $0
右键选择Edit as Html
然后ctrl+A全选内容,复制到任意“新建文本文档.txt”中,并修改文件后缀名为".html"后,即可运行本py程序
问2:如何导出带答案的试卷?
答:
在zujuan网上,点击想要查看的题目,即可显示答案
后执行问1的步骤即可
问3:如何打印出来优化好的output.html文件
答:
浏览器打开output.html后选择打印成pdf或者连接打印机打印即可


image.png (279.44 KB, 下载次数: 0)
下载附件
2023-9-29 10:42 上传



image.png (210.15 KB, 下载次数: 0)
下载附件
2023-9-29 10:43 上传

#组卷网本地网页格式优化:
#读取与.py相同路径下的.html文件,对其进行相应的格式优化
import os
from bs4 import BeautifulSoup
def getAllFiles():
    #返回当前目录下所有的文件名称
    path = os.getcwd()
    return [file for file in os.listdir(path)]
def isHtml(file):
    #判断是否是.html文件
    if os.path.splitext(file)[-1] == '.html':
        return True
    else:
        return False
def getAllHtml():
    #找到该目录下的所有.html文件
    files = getAllFiles()
    htmlList = []
    for file in files:
        if isHtml(file):
            htmlList.append(file)
        else:
            pass
    return htmlList
def readHtml(html):
    #读取.html文件的内容
    file = open(html,"r",encoding='utf-8')
    html_content = file.read()
    return html_content
def delElement(html_content):
    #删除html多余的元素
    # 找到所有的元素
    soup = BeautifulSoup(html_content,'lxml')
    sections = soup.find_all('section', {'class': 'exam-list'})
    # 创建一个新的BeautifulSoup对象,只包含这些元素
    new_soup = BeautifulSoup('', 'lxml')  # 创建一个只包含标签的BeautifulSoup对象
    # 将原始HTML内容中的元素添加到new_soup中
    head = soup.find('head')
    new_soup.html.append(head)
    for section in sections:
        # 删除元素中的所有元素
        divs_ctrl_box = section.find_all('div', {'class': 'ctrl-box'})
        for div in divs_ctrl_box:
            div.decompose()
        # 删除元素中的所有元素
        divs_ques_additional = section.find_all('div', {'class': 'ques-additional'})
        for div in divs_ques_additional:
            div.decompose()
        # 删除元素中的所有元素
        divs_exam_item_info = section.find_all('div', {'class': 'exam-item__info clearfix'})
        for div in divs_exam_item_info:
            div.decompose()
        new_soup.html.append(section)
    return new_soup
def writeHtml(filename, soup):
    # 写入.html文件的内容
    with open(filename, "w", encoding='utf-8') as file:
        file.write(str(soup))
htmlList = getAllHtml()
num=1
for html in htmlList:
    html_content = readHtml(html)
    soup = delElement(html_content)
    newFileName = "output" + str(num) + ".html"
    writeHtml(newFileName, soup)  # 将soup对象写入新的.html文件
    num = num + 1
下载链接:
链接:https://pan.baidu.com/s/1GqrAzsYYkay2b82JYVNc5A
提取码:52pj
土豪链接:

组卷网本地网页格式优化.zip
(2.96 KB, 下载次数: 0)
2023-9-29 10:47 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

元素, 文件

您需要登录后才可以回帖 登录 | 立即注册

返回顶部