2017-04-25 23 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 
関連する問題