BeautifulSoup,soup()和soup.findAll()之间的区别?

时间:2016-05-05 16:42:13

标签: python beautifulsoup

我对soup('tag_name')soup.find_all('tag_name')之间的区别感到困惑。这是一个简短的html示例:

from bs4 import BeautifulSoup

string = """
<html><body><div class="MsoNormal">
<span style='font-family: "Times New Roman","serif"; font-size: 12.0pt; 
line-height: 107%;'> Some text <o:p></o:p></span></div></body></html>
"""

soup = BeautifulSoup(string)
if soup('span') == soup.find_all('span'):
    print('No difference')

这个例子很小,但我测试了更长的字符串,发现两者之间没有区别。我认为它可能是bs4的新内容,但我在文档中看到的只是findAll成为find_all。这两种方法是一样的吗?第一个实际上是一种方法吗?他们什么时候会给出不同的结果?

1 个答案:

答案 0 :(得分:1)

不,两者之间没有区别。

the documentation:&#34; 如果您将BeautifulSoup对象或Tag对象视为一个函数,那么它就像在该对象上调用find_all()一样。&#34;