要處理嵌套列表,可以使用BeautifulSoup的find_all方法來(lái)查找所有符合條件的標(biāo)簽,然后使用遞歸的方式處理嵌套列表。以下是一個(gè)示例代碼:
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)
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含嵌套列表的HTML字符串,然后使用BeautifulSoup解析這個(gè)HTML。接著定義了一個(gè)處理列表的函數(shù)process_list,該函數(shù)遞歸地處理每個(gè)li標(biāo)簽,并打印出其文本內(nèi)容。如果li標(biāo)簽下有ul標(biāo)簽,則遞歸調(diào)用process_list函數(shù)處理嵌套的列表。
當(dāng)我們運(yùn)行這段代碼時(shí),將輸出如下內(nèi)容:
Item 1
Item 2
Subitem 1
Subitem 2
Item 3
這樣就可以使用BeautifulSoup處理嵌套列表了。希望對(duì)你有幫助!