5
BeautifulSoup'u kullanarak html içindeki tüm tabloları bulmak istiyorum. İç masalar dış masalara dahil edilmelidir.BeautifulSoup kullanarak html içindeki tüm tabloları bul.
Çalışan bir kod oluşturdum ve beklenen çıktıyı veriyor. Ama bu çözümü sevmiyorum çünkü 'çorba' nesnesini yok ediyor.
Daha zarif bir şekilde nasıl yapıldığını biliyor musunuz? yerine find()
ve decompose()
ait
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>