2015-05-09 71 views
1

我正在使用lxml.html解析html内容。但我不明白为什么lxml会丢弃“body”标签属性。 尝试使用lxml.html.parse和lxml.html.document_fromstring建议herelxml.html忽略正文类属性

但仍然无法正常工作。

例HTML字符串: -

<html class="hello"> <head> <iframe src="index.html"></iframe> </head> <body class="foo"><h1>a</h1></body> </html>

别人是否也面临这个问题?

回答

0

可能来不及提供帮助,但我遇到了相同的底层解析器(lxml使用libxml2,我直接使用)的类似问题。我相信问题是<iframe> s不能出现在文档的<头>。当libxml2在那里看到一个时,它会尝试通过隐式关闭<头部>并启动<主体>来继续解析。这隐含地创建<正文>然后混淆你,因为它没有实际的<正文>标签中的类。事实上,我认为你的实际<正文>将不会出现在解析模型中。