NOKOGIRI - 获取包含美元符号的所有元素

时间:2016-03-19 10:14:56

标签: ruby-on-rails ruby nokogiri

我试图从所有购物网站获得价格

到目前为止我尝试了什么:

            price = doc.xpath('//span[contains(text(), "$")]').try(:first).try(:content)

            if (!price)
                price = doc.xpath('//div[contains(text(), "$")]').try(:first).try(:content)
            end

我试过的html示例: https://jet.com/product/adidas-Real-Madrid-Ball-15-5/a08713c229924ceca7171850680d3e32(此网址的HTML)

这不是很好,我做错了什么? 谢谢大家

1 个答案:

答案 0 :(得分:0)

您可以尝试

Nokogiri: How to select nodes by matching text?

我改变了一点,它有效

require 'pp'
require 'nokogiri'

html = '
<html>
<body>
  <p>foo</p>
  <p>$bar</p>
</body>
</html>
'

doc = Nokogiri::HTML(html)
pp doc.at('p:contains("$")').text.strip
相关问题