gpt4 book ai didi

ruby-on-rails - Nokogiri - 通过正则表达式获取类的 div

转载 作者:数据小太阳 更新时间:2023-10-29 07:29:46 24 4
gpt4 key购买 nike

我在我的 Rails 应用程序上使用 nokogiri gem 来获取一些 html 节点。我正在按类(class)获得我的 div。但是那个类名有时会改变。例如,现在我是这样理解的:

doc.css("div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")

但例如“x15”可以是“x13”。我可以这样做:

doc.css("div.t.m0.x13.h3.ff2.fs1.fc0.sc0.ls0.ws1", "div.t.m0.x15.h3.ff2.fs1.fc0.sc0.ls0.ws1")

这可行,但我认为设置一个范围会更好,比如 x13-x15,所以如果它是 x14,我不需要让它保持得如此冗长。

关于如何做到这一点的任何提示?谢谢!

编辑:

我无法删除“x*”类,因为还有另一个 div 具有相同的另一个类,所以这两个元素的区别在于“x”类。另一个是xa,xb;我想得到的这个是 x13、x15。

最佳答案

您可以为此目的使用.xpath 方法。例如

doc.xpath("//div[@class='x13' or @class='x15']")

或者你可以使用

//div[starts-with(@class, 'x') and (ends-with(@class, '13') or (ends-with(@class, '15'))]

XPath 2.0 出现了按正则表达式搜索,但我不知道 nokogiri 支持什么 xpath 版本。

关于ruby-on-rails - Nokogiri - 通过正则表达式获取类的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45464115/

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