我正在尝试解析一个非常奇怪的页面。这是一个简化版本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<form id="x" method="post" action="x">
<input type="hidden" name="v1" value="v" />
<html xmlns="http://www.w3.org/1999/xhtml">
<input type="hidden" name="v2" value="v" />
</html>
</form>
</html>
是的,表单中有一个 html 标签。
这是有效的 (X)HTML 吗?我知道这是(至少部分)使用 Java Server Faces 完成的。
至于实际问题:
>>> BeautifulSoup(html).find("form")
<form id="x" method="post" action="x">
<input type="hidden" name="v1" value="v" />
</form>
BeautifulSoup 根本不喜欢这个,只是假装它不存在。
有没有人经历过类似的事情?我想我可以解析原始 XML,但如果可能的话,我想使用 BeautifulSoup。