7

ネストされた HTML リストを解析し、親子辞書に変換する必要があります。このリストを考えると:

<ul>
  <li>Operating System
    <ul>
      <li>Linux
        <ul>
          <li>Debian</li>
          <li>Fedora</li>
          <li>Ubuntu</li>
        </ul>
      </li>
      <li>Windows</li>
      <li>OS X</li>
    </ul>
  </li>
  <li>Programming Languages
    <ul>
      <li>Python</li>
      <li>C#</li>
      <li>Ruby</li>
    </ul>
  </li>
</ul>

私はそれを次のようなdictに変換したい:

{
    '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でどうすればいいですか?

4

1 に答える 1