在Python中将HTML子标记更改为兄弟节点

时间:2013-12-21 05:40:20

标签: python html beautifulsoup

我有一些HTML代码,其中包含select标记内的<option>标记,但是,选项标记是彼此的后代,但我希望它们是兄弟(select标记的直接子标记)。 / p>

HTML现在的样子:

<select>
    <option> Option 1
        <option> Option 2
            <option> Option3  
                <option> Option 4
                    etc...
                </option>
            </option>
        </option>
    </option>
</select>

我希望它看起来像:

<select>
    <option> Option 1 </option>
    <option> Option 2 </option>
    <option> Option 3 </option>
    <option> Option 4 </option>
    etc.
</select>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

BeautifulSoup纠正了它。

from bs4 import BeautifulSoup

soup = BeautifulSoup('''<html>
    <body>
        <select>
            <option>Option 1
                <option>Option 2
                    <option>Option3  
                        <option>Option 4
                        </option>
                    </option>
                </option>
            </option>
        </select>
    </body>
</html>''')

print(soup)

打印

<html>
<body>
<select>
<option>Option 1
                </option><option>Option 2
                    </option><option>Option3
                        </option><option>Option 4
                        </option>
</select>
</body>
</html>