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

How to find text on a page using Nokogiri

我正在尝试寻找使用 Nokogiri 在页面上查找单词的最佳方法。

我有一个包含以下文本的页面。

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

我想找到"Modelo:"的文字,然后得到后面的型号。

我环顾四周但似乎找不到。所以,我想我会 post 在这里,看看是否有任何有 Nokogiri 经验的人可以为我阐明这一点。

一个简单的例子:

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轻

使用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"]