2017-04-25 96 views
1

我想計算dark_circle.svg的數量並打印該數字。我如何完成這項任務?使用BeautifulSoup計數img標籤

CODE:

sidebar_details = SoupParser.find('div', {'class': 'sidebar-content'}) 
// additional working code removed 
for sidebar_rows in sidebar_details.find_all("td")[::2]: 
    if "Risk" in sidebar_rows: 
     print (sidebar_rows.findNextSiblings()) 

OUTPUT:

<td> <span><img src="/images/ratings/dark_circle.svg" width="15"/></span> 
<span><img src="/images/ratings/dark_circle.svg" width="15"/></span> 
<span><img src="/images/ratings/dark_circle.svg" width="15"/></span> 
<span><img src="/images/ratings/dark_circle.svg" width="15"/></span> 
<span><img src="/images/ratings/light_circle.svg" width="15"/></span> 
</td> 

回答

2

可以遍歷img標籤和計數它的實例:

darkcircle = 0 
for i in soup.select('img'): 
    if 'dark_circle' in i['src']: 
     darkcircle += 1 
>>> print(darkcircle) 
4 

一個內膽:

>>> sum([ 1 for i in soup.find_all('img') if 'dark_circle' in i['src']]) 
4