Beautiful Soup - 物件複製



要建立任何標籤或 NavigableString 的副本,請使用 Python 標準庫中 copy 模組的 copy() 函式。

示例

from bs4 import BeautifulSoup
import copy

markup = "<p>Learn <b>Python, Java</b>, <i>advanced Python and advanced Java</i>! from Tutorialspoint</p>"
soup = BeautifulSoup(markup, "html.parser")
i1 = soup.find('i')
icopy = copy.copy(i1)

print (icopy)

輸出

<i>advanced Python and advanced Java</i>

雖然兩個副本(原始副本和複製副本)包含相同的標記,但是這兩個副本並不代表相同的物件。

print (i1 == icopy)
print (i1 is icopy)

輸出

True
False

複製的物件完全與原始 Beautiful Soup 物件樹分離,就像在上面呼叫 extract() 一樣。

print (icopy.parent)

輸出

None
廣告