删除部分html(tag)保持样式 - python

时间:2015-07-02 11:49:34

标签: python html css python-2.7 beautifulsoup

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

html是:

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

及其所有孩子。

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

有没有办法可以删除整个&#34;部分&#34;保持风格完整的HTML?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

假设你要删除id为&#34的div;顶牌&#34;:

>>> 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>