我正在尝试找到一种方法来计算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)
答案 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