当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python BeautifulSoup extract方法用法及代码示例


在 Beautiful Soup 中,extract 方法删除:

  • 一个元素及其字符串

  • 一个字符串

该方法返回它删除的所有内容。

例子

考虑以下 HTML 文档:

my_html = """
       <div>
              <p>Bob is great</p>
       </div>
"""
soup = BeautifulSoup(my_html)

删除标签及其内容

要删除 p 标记及其内部内容:

div_tag = soup.find("div")
p_tag = div_tag.find("p")
p_tag.extract()



<p>Bob is great</p>

在这里,我们看到 <p>Bob is great</p> 作为输出,因为 extract() 方法返回您删除的任何内容。

p 标记上调用 extract() 后,它不再是我们的解析树的一部分:

print(div_tag)




<div>

</div>

然而,问题是,虽然 p 标签已经从我们的解析树中分离出来,但它仍然存在于内存中,我们仍然可以访问它:

print(p_tag)



<p>Bob is great</p>

如果您想完全删除 p_tag ,请调用 decompose() 方法而不是 extract()

删除字符串

要删除 p 的内部文本:

tag_div = soup.find("div")
tag_div.find("p").string.extract()
tag_div



<div>
<p></p>
</div>

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 BeautifulSoup | extract method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。