在Beautifulsoup中,当您解析HTML时,它会尝试为您完成 HTML,例如:
HTML = """<!doctype html>
<html>
<body>
<img src='test'/>
<p
"""
from bs4 import BeautifulSoup
print BeautifulSoup(HTML, "html.parser")
此输出将是:
<!DOCTYPE doctype html>
<html>
<body>
<img src="test"/>
<p
</body></html>
有没有一种方法可以按原样解析HTML ,而无需编辑任何标签或HTML数据(标签,<
,>
等),或者有没有其他方法可以按原样解析HTML?
答案 0 :(得分:0)
否。
解析的重点是将HTML源代码转换为文档模型(以便您可以通过编程方式对其进行操作)。
<p
变成包含<p
的文本节点,而<html>
和<body>
标签生成HTML和BODY 元素。 / p>
然后对模型进行任何操作。
然后,在某个时候,将模型转换回HTML。这不会(而且至少在合理程度上不能)考虑原始源代码。它在文本节点中转义特殊字符(例如<
),并为可以具有结束标记的元素生成结束标记。结果是规范化的文档。