我试图从所有购物网站获得价格
到目前为止我尝试了什么:
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)
这不是很好,我做错了什么? 谢谢大家
答案 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