當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。