怎么使用BeautifulSoup處理嵌套列表

小億
113
2024-05-14 12:56:15

要處理嵌套列表,可以使用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ì)你有幫助!

0