用python解析一个html列表,python – 使用BeautifulSoup解析嵌套的HTML列表

这是一种方式:

def dictify(ul):

result = {}

for li in ul.find_all("li", recursive=False):

key = next(li.stripped_strings)

ul = li.find("ul")

if ul:

result[key] = dictify(ul)

else:

result[key] = None

return result

使用示例:

>>> from bs4 import BeautifulSoup

>>> soup = BeautifulSoup("""

...

...

Operating System

...

...

Linux

...

...

Debian

...

Fedora

...

Ubuntu

...

...

...

Windows

...

OS X

...

...

...

Programming Languages

...

...

Python

...

C#

...

Ruby

...

...

...

... """)

>>> ul = soup.body.ul

>>> from pprint import pprint

>>> pprint(dictify(ul), width=1)

{u'Operating System': {u'Linux': {u'Debian': None,

u'Fedora': None,

u'Ubuntu': None},

u'OS X': None,

u'Windows': None},

u'Programming Languages': {u'C#': None,

u'Python': None,

u'Ruby': None}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值