要处理嵌套列表,可以使用BeautifulSoup的find_all方法来查找所有符合条件的标签,然后使用递归的方式处理嵌套列表。以下是一个示例代码:
from bs4 import BeautifulSoup
html = "<ul><li>Item 1</li><li>Item 2<ul><li>Subitem 1</li><li>Subitem 2</li></ul></li><li>Item 3</li></ul>"
soup = BeautifulSoup(html, 'html.parser')
def process_list(tag):
for item in tag.find_all('li'):
print(item.text)
if item.ul:
process_list(item.ul)
process_list(soup.ul)
在这个示例中,我们首先创建了一个包含嵌套列表的HTML字符串,然后使用BeautifulSoup解析这个HTML。接着定义了一个处理列表的函数process_list,该函数递归地处理每个li标签,并打印出其文本内容。如果li标签下有ul标签,则递归调用process_list函数处理嵌套的列表。
当我们运行这段代码时,将输出如下内容:
Item 1
Item 2
Subitem 1
Subitem 2
Item 3
这样就可以使用BeautifulSoup处理嵌套列表了。希望对你有帮助!