我目前有一段代码可以获取产品标题、描述和价格,因此效果很好。但是,我还需要它来获取我的困境所在的图像 URL。我尝试在底部的循环中使用 xpath,它列出了我根本不想要的每个产品上等于 220 的所有图像。所以基本上我得到这样的东西......
产品 1 标题这里
产品 1 描述这里
产品 1 价格这里
http://www.test.com/product1.jpg
http://www.test.com/product2.jpg
http://www.test.com/product3. jpg
http://www.test.com/product4.jpg
产品 2 标题在这里
产品 2 描述在这里
产品 2 价格在这里
http://www.test.com/product1.jpg
http://www.test.com/product2.jpg
http://www.test.com/product3. jpg
http://www.test.com/product4.jpg
我显然希望产品 1 有http://www.test.com/product1.jpg和产品 2 有http://www.test.com/product2.jpg等,等等。图像就在一个没有类或 ID 的 div 标签,因此我不轻易将它们放入 css 选择器。我对 ruby/nokogiri 真的很陌生,所以任何帮助都会很棒。
require 'nokogiri'
require 'open-uri'
url = "http://thewebsitehere"
data = Nokogiri::HTML(open(url))
products = data.css('.item')
products.each do |product|
puts product.at_css('.vproduct_list_title').text.strip
puts product.at_css('.vproduct_list_descr').text.strip
puts product.at_css('.price-value').text.strip
puts product.xpath('//img[@width = 220]/@src').map {|a| a.value }
end