Я вижу неожиданное поведение при использовании lxml для анализа следующего HTML.Вот мой код Python 3:
from lxml import etree, html
s = """
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<strong>ABC</strong>"<" and ">"
</body>
</html>
"""
doc = etree.ElementTree(html.fromstring(s))
print(etree.tostring(doc, pretty_print=True, encoding="unicode"))
Вот вывод, который я получаю:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title/>
</head>
<body>
<strong>ABC</strong>""
</body>
</html>
Есть что-то, что я пропускаю или делаю неправильно?Или это ошибка в lxml?