У меня есть html, хранящийся в строке.HTML-код недействителен и содержит непревзойденное закрытие </span>
внутри <td>
, т. Е.
<table>
<tr><td>
<p>First section of text.</p>
<p>Second section of text.</span></p>
<table>
<tr><td>
<p>Third section of text.</p>
</td></tr>
</table>
</td></tr>
</table>
<p>Fourth section of text.</p>
. Я хочу использовать BeautifulSoup для изменения HTML-кода при загрузке этого HTML-кода в BS и извлечении в виде строки, используя:
soup = BeautifulSoup(html, 'html.parser')
print( str( soup.prettify() ) )
BS значительно изменила структуру.
<table>
<tr>
<td>
<p>
First section of text.
</p>
<p>
Second section of text.
</p>
</td>
</tr>
</table>
<table>
<tr>
<td>
<p>
Third section of text.
</p>
</td>
</tr>
</table>
<p>
Fourth section of text.
</p>
Без непревзойденного </span>
выхода BS, как я и ожидал,
<table>
<tr>
<td>
<p>
First section of text.
</p>
<p>
Second section of text.
</p>
<table>
<tr>
<td>
<p>
Third section of text.
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<p>
Fourth section of text.
</p>
Что бы я хотелкак сделать, это удалить непревзойденный из HTML.Как я могу сделать это без написания собственного парсера, который ищет непревзойденные теги?Я надеялся, что смогу использовать BS для очистки кода, но он не работает.