5
Quiero encontrar todas las tablas en html usando BeautifulSoup. Las tablas interiores deben incluirse en las tablas externas.Buscar todas las tablas en html con BeautifulSoup
He creado un código que funciona y da salida esperada. Pero, no me gusta esta solución, porque destruye el objeto 'sopa'.
¿Sabes cómo hacerlo de una manera más elegante?
from BeautifulSoup import BeautifulSoup as bs
input = '''<html><head><title>title</title></head>
<body>
<p>paragraph</p>
<div><div>
<table>table1<table>inner11<table>inner12</table></table></table>
<div><table>table2<table>inner2</table></table></div>
</div></div>
<table>table3<table>inner3</table></table>
<table>table4<table>inner4</table></table>
</html>'''
soup = bs(input)
while(True):
t=soup.find("table")
if t is None:
break
print str(t)
t.decompose()
Output:
<table>table1<table>inner11<table>inner12</table></table></table>
<table>table2<table>inner2</table></table>
<table>table3<table>inner3</table></table>
<table>table4<table>inner4</table></table>