私は現在、製品のタイトル、説明、および価格を取得するコードを持っていますが、それはうまく機能します。ただし、ジレンマがある画像の 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セレクターに簡単に配置できませんでした。私はルビー/ノコギリに本当に慣れていないので、何か助けていただければ幸いです。
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