如何使用Nokogiri根据前面的文本从HTML段落中抓取价格



我正在尝试从段落中抓取价格并将其存储在Nokogiri的数据库中。该段落如下所示:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
   Sed elit nisi, tincidunt id purus vitae, imperdiet 
   vulputate diam 50.00, imperdiet vulputate diam 100.00 ...</p>

每个段落中的文本总是相同的,数字是唯一改变的东西。我知道如何使用 Nokogiri 使用 css 选择器选择整个段落,但是有没有办法根据前面的文本从段落中选择每个价格?类似的东西

value1 = doc.?('vulputate diam ')

将为值 1 提供值 '50.00'。

您可以在段落结果上使用正则表达式匹配。 .match(/vulputate diam ([d.]+)/)

x = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elit nisi, tincidunt id purus vitae, imperdiet vulputate diam 50.00, imperdiet vulputate diam 100.00 ...</p>".match(/vulputate diam ([d.]+)/)
x.captures
# => ["50.00"]

菲利普·霍尔斯特罗姆(Philip Hallstrom)建议的scan的相同用途也很棒。

相关内容

  • 没有找到相关文章

最新更新