删除部分 html(标签)保持风格 - python

Remove portion of html (tag) keeping style - python

我想在保存之前删除包含特定字符串的 html 的一部分。该标签包含一个人的姓名,我想删除整个标签以使其匿名。

html是:

<div id="top-card" data-li-template="top_card">...</div>

及其所有子项。

我使用 beautifulsoup 进行了探索,但找不到解决方案。

有没有一种方法可以删除 html 的整个 "portion",同时保持样式不变?

谢谢!

您可以使用 .extract() 来删除使用 BeautifulSoup 的元素。

假设您要删除 ID 为 "top-card" 的 div:

>>> html = """
... <div id="top-card" data-li-template="top_card"><div>test</div></div>
... <div>test</div> <div id="foo">blah</div>"""
>>> soup = BeautifulSoup(html)
>>> [div.extract() for div in soup("div",id="top-card")]
[<div data-li-template="top_card" id="top-card"><div>test</div></div>]
>>> soup
<html><body>
<div>test</div> <div id="foo">blah</div></body></html>