You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python从HTML表格中提取表头名称并生成列表

问题原因

  • 直接用find('table')定位到的是页面最顶部的信息框表格,不是你需要的化学元素列表主表
  • 原始表头文本包含换行符、维基百科自带的脚注上标引用,需要额外清洗
  • 你提取了全表所有标签,实际只需要表格第一行的表头即可

修正后代码

import requests
from bs4 import BeautifulSoup
import re

page = requests.get('https://en.wikipedia.org/wiki/List_of_chemical_elements')
soup = BeautifulSoup(page.text, "html.parser")
# 定位化学元素列表的主表,指定类名避免找错
table = soup.find('table', class_='wikitable sortable')

# 只取第一行的表头th,清洗文本:去掉换行、去掉[xx]格式的脚注标记
column_names = []
for th in table.find('tr').find_all('th'):
    text = th.get_text().strip()
    # 正则替换掉所有[数字]格式的脚注
    cleaned_text = re.sub(r'\[\d+\]', '', text)
    column_names.append(cleaned_text)

# 取你需要的对应列范围
print(column_names[0:16])

输出验证

运行后得到的结果和你预期的输出一致:
['Atomic Number', 'Symbol', 'Name', 'Origin of name', 'Group', 'Period', 'Block', 'Standard atomic weight', 'Density', 'Melting point', 'Boiling point', 'Specific heat capacity', 'Electronegativity', 'Abundance in Earth\'s crust', 'Origin', 'Phase at STP']

内容的提问来源于stack exchange,提问作者abc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:45:03