从GSEB成绩HTML页面提取表格数据并按指定格式导出
提取GSEB成绩HTML表格数据并转成指定格式的方案
- 工具选择:用Python的
requests抓页面源码,BeautifulSoup解析表格,pandas转换格式,操作简单高效 - 操作步骤:
- 抓取页面内容:用
requests发起请求,获取目标成绩页面的HTML源码 - 提取表格数据:用
BeautifulSoup定位页面内的成绩表格,逐行逐单元格提取数据 - 转换指定格式:把提取到的结构化数据整理成和参考格式匹配的结构,可直接导出成Excel或排版成对应文本样式
- 抓取页面内容:用
- 代码示例:
import requests from bs4 import BeautifulSoup import pandas as pd # 目标成绩页面地址 target_url = "https://gseb.org/522lacigam/sci/B24/06/B240661.html" # 获取页面内容 page_content = requests.get(target_url).text # 解析HTML soup = BeautifulSoup(page_content, "html.parser") # 定位页面核心成绩表格 score_table = soup.find("table") # 提取表头和数据行 table_headers = [] table_data = [] for row_num, row in enumerate(score_table.find_all("tr")): # 提取单元格文本并去除冗余空格 cells = [cell.get_text(strip=True) for cell in row.find_all(["th", "td"])] if row_num == 0: table_headers = cells else: table_data.append(cells) # 转换为DataFrame并导出成Excel(匹配参考格式的结构化表格) result_df = pd.DataFrame(table_data, columns=table_headers) result_df.to_excel("gseb_student_scores.xlsx", index=False) print("成绩数据已提取并转换为指定格式,保存为gseb_student_scores.xlsx")
- 补充说明:如果参考格式是纯文本排版,直接循环遍历
table_data按对应列对齐规则打印输出即可,无需导出Excel
内容的提问来源于stack exchange,提问作者Online Review
相关产品推荐
相关产品推荐

