【发布时间】:2019-01-15 12:51:21
【问题描述】:
我在使用 lxml.html 时看到一些意外的输出。
import lxml.html as LH
xmlspec = "<?xml version='1.0' encoding='iso-8859-1'?>"
a = LH.fromstring(xmlspec + "<html><body><p>Body</p></body></html>")
b = LH.fromstring(xmlspec + "<html><meta /><body><p>Body</p></body></html>")
print a # says element p while I would have expected html
print b # says element html which is expected
有人可以解释为什么会这样吗?删除 xml 规范后一切正常!有没有正确的方法来处理这个问题?
【问题讨论】:
-
我想你发现了你的错误。最初你在
<html>之外有<meta /> -
@JavierBuzzi,很好的观察。我纠正了这一点。我仍然遇到同样的错误。
-
哼。是的,你是对的,仍在谷歌搜索,但如果你将导入从
html/ 交换到etree并且不更改任何其他内容:它可以工作。但我就像一条有骨头的狗,我喜欢你,想了解为什么。