【发布时间】:2017-03-24 14:28:22
【问题描述】:
HTML 有一个空元素的概念,如MDN 中所列。然而,美丽的汤似乎并不能很好地处理它们:
import bs4
soup = bs4.BeautifulSoup(
'<div><input name=the-input><label for=the-input>My label</label></div>',
'html.parser'
)
print(soup.contents)
我明白了:
[<div><input name="the-input"><label for="the-input">My label</label></input></div>]
即输入已经包装了标签。
问题:有没有办法让漂亮的汤正确解析这个?还是在我还没有找到的地方对此行为有官方解释?
至少我希望是这样的:
[<div><input name="the-input"></input><label for="the-input">My label</label></div>]
即输入在标签之前自动关闭。
【问题讨论】:
标签: python html beautifulsoup