gpt4 book ai didi

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

转载 作者:技术小花猫 更新时间:2023-10-29 12:00:01 27 4
gpt4 key购买 nike

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

我可以将我的模型属性绑定(bind)到 CSS 或 XPath,但我不确定哪个最好,例如更改 HTML 布局时不那么麻烦,更简单的表达式,更快的提取速度。

遇到这种情况你会怎么选择?

最佳答案

你更喜欢哪个?大多数人倾向于发现 CSS 选择器更容易,如果其他人会维护您的工作,您应该考虑到这一点。这样做的一个原因可能是人们不再担心 XML 命名空间,它是许多错误的根源。 CSS 选择器往往比等效的 XPath 更紧凑,但只有您才能决定这是否是相关因素。我要指出,jquery 的选择语言是在 CSS 选择器而非 XPath 上建模的,这并非偶然。

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

CSS 选择器具有而 XPath 没有的是伪类,但如果您正在执行服务器端 DOM 操作,那么这些选择器不太可能对您有用。

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

关于html - 使用 CSS 或 XPath 选择器解析 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2617741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com