Найдите, сколько уровней дочерних элементов есть в элементе Beautiful Soup - PullRequest
0 голосов
/ 04 февраля 2011

У меня проблема с попыткой выяснить, сколько "уровней" дочерних элементов имеет элемент.Например,

<div id="first">
 <div id="second">
  <div id="third">
   <div id="fourth">
    <div id="fifth">
    </div>
   </div>
  </div>
 </div>
 <div id="second2">
 </div>
</div>

В этом коде у div с идентификатором first будет 4 уровня дочерних элементов.

В основном мне нужно выяснить, имеет ли элемент 2 или менее дочерних уровня..

1 Ответ

0 голосов
/ 04 февраля 2011

Вот пример использования xml.etree.ElementTree;

import xml.etree.ElementTree as et

def height(branch):
    if len(branch) == 0:
        return 0
    else:
        return max([height(child) for child in branch.getchildren()])+1

tree = et.fromstring(text)
print height(tree)
...