这是一个常见的问题,可能是由于BeautifulSoup经过了文本解析和树形结构的重新组织,从而导致结果与原始HTML代码存在差异。 为了避免这种情况,你可以尝试使用原始HTML代码创建一个新的BeautifulSoup对象,然后将其与BeautifulSoup解析出的文档进行比较,以确定是否存在差异。例如:
from bs4 import BeautifulSoup
# 原始HTML代码
html = "Example Some text.
"
# 使用原始HTML代码创建BeautifulSoup对象
soup1 = BeautifulSoup(html, 'html.parser')
# 解析HTML文件并使用BeautifulSoup对象
with open('example.html') as f:
soup2 = BeautifulSoup(f, 'html.parser')
# 比较两个BeautifulSoup对象
print(soup1 == soup2)
除此之外,你还可以将BeautifulSoup的解析器更改为不同的解析器,例如lxml或html5lib,以查看他们的输出是否不同。