要處理嵌套列表,可以使用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處理嵌套列表了。希望對你有幫助!