使用BeautifulSoup Python在标签内搜索

时间:2013-05-27 20:28:47

标签: python html beautifulsoup

我想在标签内搜索:

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

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

之间获取标签
    soup = BeautifulSoup(resp)
    tags = soup.find('div', attrs = {'class' : 'cmePaginiation'})
    print tags

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

有没有办法计算li的实例数(在这个例子中为4)?

2 个答案:

答案 0 :(得分:16)

使用find_all

div = soup.find('div', id='cmeProductSlatePaginiationTop')
lis = div.find_all('li')
num_lis = len(lis)

答案 1 :(得分:2)

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

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

将代码更改为以下内容:

div = soup.find('div', id='cmeProductSlatePaginiationTop')
lis = div[0].find_all('li')
num_lis = len(lis)`