我需要解析嵌套的 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>
我想把它转换成这样的字典:
{
'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 做到这一点?