使用lxml解析HTML时如何保留命名空间信息?

Ser*_*nin 8 html python lxml xml-namespaces facebook-like

>>> from lxml.etree import HTML, tostring
>>> tostring(HTML('<fb:like>'))
'<html><body><like/></body></html>'
Run Code Online (Sandbox Code Playgroud)

注意标签如何变为<fb:like>简单<like>.

这使得处理包含XFBML和lxml的页面变得更加困难.(同样的事情发生<g:plusone></g:plusone>)

任何帮助表示赞赏.

jmo*_*ora 1

尝试添加缺少的命名空间前缀定义。否则, lxml 将避免使用名称空间,据说是为了让您更轻松。

您尝试解析的站点很可能不包含这些命名空间定义,因此您应该添加它们。

像这样的:xmlns:adlcp="http://xxx/yy/zzz"