2015-07-02 149 views
0

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

的HTML是:

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

及其所有子。

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

有没有一种方法可以在保持风格完整的情况下删除html的整个“部分”?

谢谢!

+4

你能解释一下你所说的“特定字符串”是什么意思?如果你展示你的尝试解决方案,人们也会更容易帮助你。 –

+0

@AndréLaszlo,我添加了一行,说明我想要移除的标记包含某个名称。 – Diego

+0

您可以更新示例以包含名称吗?或者,也许你指的是'id'? –

回答

1

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

假设你要删除其ID的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> 
+0

谢谢!这是一个有前途的解决方案它看起来像代码返回提取的标记或字符串。我如何保留原始HTML代码“减去”标签? – Diego

+0

非常感谢你! – Diego