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
广告

© . All rights reserved.