Beautifoul汤-从只有第一个li具有特定类名的ul中获取所有li元素

问题描述 投票:0回答:1

我在HTML中有这样的无序列表:

<ul> 
<li class="label">Equipement</li>
<li>Aluminum tyres</li>
<li>4x4</li>
<li>3. stop lights</li>
<li>Bluetooth</li>
</ul>

li列表中的第一个ul元素包含列表的标题,其他元素包含需要以纯文本格式提取的功能列表。我知道如何首先定位该li,但我不知道如何选择所有其他元素。

考虑到此ul在HTML文档中没有类及其其他许多ul元素。我可以通过以下方式找到ulli

 (li.previousSibling).get_text() 

但无法使用get_text()提取所有元素,我得到:

[AttributeError:'NavigableString'对象没有属性'get_text']

此外,我需要提取所有li,但第一个保留标题的除外。我在页面上有几个这样的ul,它们的长度都是可变的(具有或多或少的li元素)。

python html beautifulsoup
1个回答
0
投票
from bs4 import BeautifulSoup


html = '''<ul> 
<li class="label">Equipement</li>
<li>Aluminum tyres</li>
<li>4x4</li>
<li>3. stop lights</li>
<li>Bluetooth</li>
</ul>
'''

soup = BeautifulSoup(html, 'html.parser')
text = soup.find_all('li')

for item in text:
    print(item.text)
© www.soinside.com 2019 - 2024. All rights reserved.