复制Beautiful Soup对象

优质
小牛编辑
126浏览
2023-12-01

copy.copy() 方法可以复制任意 TagNavigableString 对象

import copy
p_copy = copy.copy(soup.p)
print p_copy
# <p>I want <b>pizza</b> and more <b>pizza</b>!</p>

复制后的对象跟与对象是相等的, 但指向不同的内存地址

print soup.p == p_copy
# True

print soup.p is p_copy
# False

源对象和复制对象的区别是源对象在文档树中, 而复制后的对象是独立的还没有添加到文档树中. 复制后对象的效果跟调用了 extract() 方法相同.

print p_copy.parent
# None

这是因为相等的对象不能同时插入相同的位置