BeautifulSoup的HTML解析函数确实不能连续使用,因为它是解析一次性的,即使你使用多次也只会解析一次HTML。如果你想解析多个HTML文档,可以使用以下解决方法之一:
from bs4 import BeautifulSoup
html_doc1 = "Document 1
"
html_doc2 = "Document 2
"
soup1 = BeautifulSoup(html_doc1, 'html.parser')
soup2 = BeautifulSoup(html_doc2, 'html.parser')
# 使用soup1解析文档1
title1 = soup1.h1.text
print(title1) # 输出:Document 1
# 使用soup2解析文档2
title2 = soup2.h1.text
print(title2) # 输出:Document 2
from bs4 import BeautifulSoup
html_doc1 = "Document 1
"
html_doc2 = "Document 2
"
soup = BeautifulSoup(html_doc1 + html_doc2, 'html.parser')
# 解析文档1中的标题
title1 = soup.find_all('h1')[0].text
print(title1) # 输出:Document 1
# 解析文档2中的标题
title2 = soup.find_all('h1')[1].text
print(title2) # 输出:Document 2
这样你就可以在同一个BeautifulSoup对象中解析多个HTML文档或者同一个HTML文档中的多个元素。