如何计算使用BeautifulSoup检索到的代码行数?

2024-06-16 14:40:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在beautiful soup中有什么函数可以计算检索到的行数吗?或者还有别的办法吗?在

from bs4 import BeautifulSoup
import string
content = open("webpage.html","r")
soup = BeautifulSoup(content)
divTag = soup.find_all("div", {"class":"classname"})
for tag in divTag:
ulTags = tag.find_all("ul", {"class":"classname"})
for tag in ulTags:
  aTags = tag.find_all("a",{"class":"classname"})
  for tag in aTags:
   name = tag.find('img')['alt']
   print(name)

Tags: nameinimportfortagcontentallfind
1条回答
网友
1楼 · 发布于 2024-06-16 14:40:17

如果要获取find_all()检索的元素数,请尝试使用^{}函数:

......
redditAll = soup.find_all("a")
print(len(redditAll))

更新:

您可以使用CSS选择器更改逻辑以一次性选择特定元素。通过这种方式,获取检索到的元素数就像调用返回值上的len()函数一样简单:

^{pr2}$

也可以使用多个for循环来保持逻辑,并手动跟踪变量中的元素数:

counter = 0

divTag = soup.find_all("div", {"class":"classname"})
for tag in divTag:
  ulTags = tag.find_all("ul", {"class":"classname"})
  for tag in ulTags:
    aTags = tag.find_all("a",{"class":"classname"})
    for tag in aTags:
     name = tag.find('img')['alt']
     print(name)
     #update counter:
     counter += 1

print(counter)

相关问题 更多 >