Skip to main content
 首页 » 编程设计

python之用 BeautifulSoup 替换 html 标签

2025年05月04日15hnrainll

我目前正在使用 BeautifulSoup 重新格式化一些 HTML 页面,但遇到了一些问题。

我的问题是原始 HTML 有这样的东西:

<li><p>stff</p></li> 

和

<li><div><p>Stuff</p></div></li> 

还有

<li><div><p><strong>stff</strong></p></div><li> 

对于 BeautifulSoup,我希望消除 div 和 p 标签(如果存在),但保留 strong 标签。

我正在查看精美的 soup 文档,但找不到任何内容。 想法?

谢谢。

请您参考如下方法:

这个问题可能指的是 BeautifulSoup 的旧版本,因为使用 bs4 你可以简单地使用 unwrap 功能:

s = BeautifulSoup('<li><div><p><strong>stff</strong></p></div><li>') 
s.div.unwrap() 
>> <div></div> 
s.p.unwrap() 
>> <p></p> 
s 
>> <html><body><li><strong>stff</strong></li><li></li></body></html>