可能是由于传递给 BeautifulSoup 的文本不是有效的 HTML 或 XML。为避免此问题,应在解析前使用 try-except 语句并使用合适的异常处理程序来处理输入。此外,还可以使用 HTML 或 XML 格式验证器来验证输入是否有效,以确保不会出现此类问题。
示例代码:
from bs4 import BeautifulSoup
html = '''
Test
Hello, world!
'''
try:
soup = BeautifulSoup(html, 'html.parser')
except:
print("Invalid HTML input.")
if soup:
print(soup.h1.text)
else:
print("Soup is None.")
注:在实际的应用中,除非您有信心确认输入是合法的,否则永远不要忽略异常。