微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用CSS或XPath选择器解析HTML?

我的目标是使用lxml解析 HTML,它支持XPath和CSS选择器.

我可以将我的模型属性绑定到CSS或XPath,但我不确定哪一个是最好的,例如更改HTML布局时更简洁,表达更简单,提取速度更快.

在这种情况下你会选择什么?

解决方法

你觉得哪个更舒服?大多数人倾向于更容易找到CSS选择器,如果其他人会维护你的工作,你应该考虑到这一点.这样做的一个原因可能是,对 XML命名空间的担忧较少,这是许多错误的根源. CSS选择器往往比同等的XPath更紧凑,但只有你可以决定是否相关因素.我会注意到,jquery的选择语言是在CSS选择器上建模而不是在XPath上建模并不是偶然的.

另一方面,XPath是一种更具表现力的语言,适用于一般的DOM操作.例如,没有相当于“父”或“祖先”轴的CSS选择器,也没有办法在XPath中直接寻址等同于“text()”的文本节点.相比之下,我想不出任何可以在CSS选择器中表达但不在XPath中表达的DOM路径,尽管E [foo~ =“warning”]和E [lang | =“en”]在XPath中显然非常棘手.

什么CSS选择器确实XPath不是伪类,但如果你正在进行服务器端DOM操作,这些对你来说可能没用.

至于哪个导致提取速度更快,我不知道lxml,但我希望等效路径具有非常相似的性能特征.

原文地址:https://www.jb51.cc/css/662594.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。