我目前正在使用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标签,如果它们存在,但保留强标签 .
我正在浏览美丽的汤文档,找不到任何东西 . 想法?
谢谢 .
4 回答
您想要做什么可以使用
replaceWith
完成 . 您必须复制要用作替换的元素,然后将其作为参数提供给replaceWith
. documentation for replaceWith非常清楚如何做到这一点 .这个问题可能是指旧版的BeautifulSoup,因为使用bs4你可以简单地使用unwrap函数:
简单的解决方案让你的整个节点意味着
div
:转换为字符串
将
<tag>
替换为必需的标记/字符串 .用空字符串替换相应的标记 .
通过传递给beautifulsoup将转换后的字符串转换为可解析字符串
我为
mint
做了什么例:
输出:
您可以编写自己的函数来剥离标记: