17

我想在标签内搜索:

<div id="cmeProductSlatePaginiationTop" class="cmePaginiation">
   <ul>
      <li class="disabled">
      <li class="active">
      <li class="away-1">
      <li>
   </ul>
</div>

基本上,我想计算<li ..>这个 div 中出现的次数。但是,当我使用 beautifulsoup 时,我无法在div

    soup = BeautifulSoup(resp)
    tags = soup.find('div', attrs = {'class' : 'cmePaginiation'})
    print tags

>>> <div id="cmeProductSlatePaginiationTop" class="cmePaginiation">&nbsp;</div>

有没有办法计算li(在此示例中为 4)的实例数?

4

2 回答 2

27

使用find_all

div = soup.find('div', id='cmeProductSlatePaginiationTop')
lis = div.find_all('li')
num_lis = len(lis)
于 2013-05-27T20:32:14.217 回答
4

晚了大约12个月。但是,无论如何,这是解决方案:

soup.find_all返回标签列表,即使只有一个标签。

将代码更改为以下内容:

div = soup.find('div', id='cmeProductSlatePaginiationTop')
lis = div[0].find_all('li')
num_lis = len(lis)`
于 2014-04-27T17:54:27.027 回答