在BeautifulSoup中查找具有特定ID的div数量?

时间:2016-04-16 15:33:05

标签: python beautifulsoup

我正在尝试找到一种方法来计算id为#34; blue"的div数。这可能在BeautifulSoup中吗?这是我的代码:

import BeautifulSoup

scanning = True

soup = BeautifulSoup.BeautifulSoup("<html><body><div id='blue'></div><div id='blue'></div><div id='purple'></div></body></html>")

blues = []

blues.append(soup.find("div", {"id": "blue"}))

print len(blues)

2 个答案:

答案 0 :(得分:1)

find方法只会获取第一次出现,因此输出为1.如果使用find_all,它将逐字地找到所有出现的结果,代表您将结果保存到列表中。在这种情况下&#39; divs&#39;成为每个div id = blue的列表,你可以检查它的长度。

import BeautifulSoup

soup = BeautifulSoup.BeautifulSoup("<html><body><div id='blue'></div><div id='blue'></div><div id='purple'></div></body></html>", 'html.parser')

divs = soup.find_all("div", {"id": "blue"})

print(len(divs))

答案 1 :(得分:0)

如果div只有id蓝色,那么您可以使用:

divs = soup.find_all("#blue")
blues = len(divs) if divs else 0