解析HTML而不添加和删除标签

时间:2018-11-06 20:43:08

标签: html python-2.7 parsing beautifulsoup

在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"/>
    &lt;p
    </body></html>

有没有一种方法可以按原样解析HTML ,而无需编辑任何标签或HTML数据(标签,<>等),或者有没有其他方法可以按原样解析HTML?

1 个答案:

答案 0 :(得分:0)

否。

解析的重点是将HTML源代码转换为文档模型(以便您可以通过编程方式对其进行操作)。

<p变成包含<p的文本节点,而<html><body>标签生成HTML和BODY 元素。 / p>

然后对模型进行任何操作。

然后,在某个时候,将模型转换回HTML。这不会(而且至少在合理程度上不能)考虑原始源代码。它在文本节点中转义特殊字符(例如<),并为可以具有结束标记的元素生成结束标记。结果是规范化的文档。