Beautiful Soup - 对象比较



根据Beautiful Soup的定义,如果两个NavigableString或Tag对象代表相同的HTML/XML标记,则它们相等。

现在让我们看下面的例子,其中两个<b>标签被视为相等,即使它们位于对象树的不同部分,因为它们看起来都像“<b>Java</b>”。

示例

from bs4 import BeautifulSoup
markup = "<p>Learn <i>Python</i>, <b>Java</b>, advanced <i>Python</i> and advanced <b>Java</b>! from Tutorialspoint</p>"
soup = BeautifulSoup(markup, "html.parser")
b1 = soup.find('b')
b2 = b1.find_next('b')
print(b1== b2)

print(b1 is b2)

输出

True
False

在下面的例子中,比较了两个NavigableString对象。

示例

from bs4 import BeautifulSoup
markup = "<p>Learn <i>Python</i>, <b>Java</b>, advanced <i>Python</i> and advanced <b>Java</b>! from Tutorialspoint</p>"
soup = BeautifulSoup(markup, "html.parser")
i1 = soup.find('i')
i2 = i1.find_next('i')
print(i1.string== i2.string)

print(i1.string is i2.string)

输出

True
False
广告
© . All rights reserved.