かなり奇妙なページを解析しようとしています。簡略化されたバージョンは次のとおりです。
<!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 を使用したいと考えています。