阅读(4086) (0)

Beautiful Soup 4 比较对象是否相同

2021-05-21 15:05:57 更新

两个 ​NavigableString​ 或 ​Tag​ 对象具有相同的HTML或XML结构时, Beautiful Soup就判断这两个对象相同. 这个例子中, 2个 <b> 标签在 BS 中是相同的, 尽管他们在文档树的不同位置, 但是具有相同的表象: “<b>pizza</b>”

markup = "<p>I want <b>pizza</b> and more <b>pizza</b>!</p>"
soup = BeautifulSoup(markup, 'html.parser')
first_b, second_b = soup.find_all('b')
print first_b == second_b
# True

print first_b.previous_element == second_b.previous_element
# False

如果想判断两个对象是否严格的指向同一个对象可以通过 ​is​ 来判断

print first_b is second_b
# False