在 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>
相关用法
- Python BeautifulSoup extend方法用法及代码示例
- Python NumPy expandtabs方法用法及代码示例
- Python math expm1()用法及代码示例
- Python NumPy expand_dims方法用法及代码示例
- Python exponential转float用法及代码示例
- Python NumPy exp2方法用法及代码示例
- Python exec()用法及代码示例
- Python NumPy exp方法用法及代码示例
- Python expandtabs()用法及代码示例
- Python NumPy expm1方法用法及代码示例
- Python math exp()用法及代码示例
- Python email.message.Message.walk用法及代码示例
- Python numpy matrix eye()用法及代码示例
- Python enchant.request_dict()用法及代码示例
- Python email.headerregistry.DateHeader用法及代码示例
- Python enum.IntEnum用法及代码示例
- Python enchant.get_enchant_version()用法及代码示例
- Python email.message.EmailMessage.add_header用法及代码示例
- Python emoji转text用法及代码示例
- Python enchant.request_pwl_dict()用法及代码示例
- Python eval用法及代码示例
- Python email.utils.getaddresses用法及代码示例
- Python email.header.decode_header用法及代码示例
- Python email.message.EmailMessage.walk用法及代码示例
- Python NumPy eye方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 BeautifulSoup | extract method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。