【问题标题】:Extraction of ids and options from select using BeautifulSoup and arranging them in Pandas dataframe使用 BeautifulSoup 从选择中提取 id 和选项并将它们安排在 Pandas 数据框中
【发布时间】:2022-01-03 07:51:32
【问题描述】:

我提取了以下 html 代码:

<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>

我需要提取每个选择的选项和对应的id,并将它们排列成一个Pandas数据框,类似于这样:

id option
id1 A1
id1 A2
id1 A3
id2 B1
id2 B2
id2 B3
id3 C1
id3 C2
id3 C3
id3 C4

【问题讨论】:

    标签: python pandas beautifulsoup select-options


    【解决方案1】:

    我建议为此使用BeautifulSoup

    from bs4 import BeautifulSoup
    parser = BeautifulSoup(s)
    
    d = {'id': [],'option': []}
    for s in parser.find_all('select'):
        for o in s.find_all('option'):
            d['id'].append(s['id'])
            d['option'].append(o.text)
    df = pd.DataFrame(d)
    

    输出:

    >>> df
         id option
    0   id1     A1
    1   id1     A2
    2   id1     A3
    3   id1     A4
    4   id1     A5
    5   id1     A6
    6   id2     B1
    7   id2     B2
    8   id2     B3
    9   id3     C1
    10  id3     C2
    11  id3     C3
    12  id3     C4
    

    【讨论】:

    • 成功了!谢谢@user17242583!
    • 不客气!我很高兴它有帮助! (请尽快接受答案,@Tipo33:)
    猜你喜欢
    • 2022-01-18
    • 2022-01-19
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2011-08-09
    • 2014-12-22
    相关资源
    最近更新 更多