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

使用BeautifulSoup提取select的id与option并整理为Pandas DataFrame

实现步骤

首先确保你已经安装了beautifulsoup4和pandas两个依赖库,没装的话可以先执行安装命令:

pip install beautifulsoup4 pandas

然后按如下代码实现解析和DataFrame生成:

from bs4 import BeautifulSoup
import pandas as pd

# 替换为你实际提取到的HTML代码
html_content = """
<select class="class1", id="id1">
    <option value="0">A1</option>
    <option value="1">A2</option>
    <option value="2">A3</option>
    <option value="3">A4</option>
    <option value="4">A5</option>
    <option value="5">A6</option>
</select>
.
.
.
<select class="class2", id="id2">
    <option value="0">B1</option>
    <option value="1">B2</option>
    <option value="2">B3</option>
</select>
.
.
<select class="class3", id="id3">
    <option value="0">C1</option>
    <option value="1">C2</option>
    <option value="2">C3</option>
    <option value="2">C4</option>
</select>
"""

# 解析HTML
soup = BeautifulSoup(html_content, "html.parser")
result = []

# 遍历所有select标签提取数据
for select in soup.find_all("select"):
    current_id = select.get("id")
    for option in select.find_all("option"):
        result.append({
            "id": current_id,
            "option": option.get_text(strip=True)
        })

# 生成DataFrame
df = pd.DataFrame(result)

运行后得到的df就是你需要的两列结构,和你给出的预期输出完全匹配。

注:你提供的原始HTML中select标签的class属性后多了多余的英文逗号,属于语法瑕疵,但BeautifulSoup解析时会自动兼容,不影响数据提取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:45:09