如何使用Nokogiri在页面上查找文本

时间:2018-06-10 15:42:39

标签: ruby-on-rails ruby nokogiri

我正在尝试找到使用Nokogiri在网页上找到单词的最佳方式。

我有一个页面,其中包含以下文字。

<p>Modelo: ABC123-A</p>

我想找到&#34; Modelo:&#34; 文字,然后获取其后的型号。

我环顾四周但似乎无法找到。所以,我想我会在这里发帖,看看是否有任何有Nokogiri经验的人能够为我阐明这一点。

2 个答案:

答案 0 :(得分:1)

一个简单的例子:

doc = Nokogiri::HTML('<html><body><p>Modelo: ABC123-A</p></body></html>')
doc.css('p').first.content  # => Modelo: ABC123-A
str.split( ': ' )[-1]  # => ABC123-A

你也可以尝试Oga,它比Nokogiri轻。

答案 1 :(得分:1)

使用p:contains选择器获取匹配的p个节点。

doc = Nokogiri::HTML('<html><body><p>Modelo: ABC123-A</p><br/><p>Nothing here</p><p>Modelo: 4321</p></body></html>')
doc.css('p:contains("Modelo")').map { |x| x.text.split(': ').last }
#=> ["ABC123-A", "4321"]