Разбор вложенного списка HTML с BeautifulSoup

Мне нужно проанализировать вложенный список HTML и преобразовать его в dict parent-child. Учитывая этот список:


  Operating System
    
      Linux
        
          Debian
          Fedora
          Ubuntu
        
      
      Windows
      OS X
    
  
  Programming Languages
    
      Python
      C#
      Ruby
    
  

Я хочу преобразовать это в диктовку как это:

{
    'Operating System': {
        'Linux': {
            'Debian': None,
            'Fedora': None,
            'Ubuntu': None,
        },
        'Windows': None,
        'OS X': None,
    },
    'Programming Languages': {
        'Python': None,
        'C#': None,
        'Ruby': None,
    }
}

Моя первая попытка использованияfind_all('li', recursive=False), Он возвращает элементы верхнего уровня (операционная система и языки программирования), а также дочерние элементы.

Как я могу сделать это с BeautifulSoup?

Ответы на вопрос(1)

Ваш ответ на вопрос