Я работаю над скриптом для получения данных и изображений со страниц продуктов интернет-магазина (с одобрения владельца)
У меня есть рабочий скрипт, который перебирает CSV-файл с URL-адресами продуктов 20042, чтобы получить нужные мне данные, которые хранятся в CSV-файле. Последнее, что мне нужно, это сохранить изображения продукта.
У меня есть этот код (спасибо Phrogz в этом потоке)
URL = 'http://www.sample.com/page.html'
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'uri'
def make_absolute( href, root )
URI.parse(root).merge(URI.parse(href)).to_s
end
Nokogiri::HTML(open(URL)).xpath('//*[@id="zoom"]/@href').each do |src|
uri = make_absolute(src,URL)
File.open(File.basename(uri),'wb'){ |f| f.write(open(uri).read) }
end
который отлично работает для отдельного URL-адреса, но я изо всех сил пытаюсь заставить его работать и перебирать URL-адреса из файла CSV в моем основном сценарии, который начинается так:
# encoding: utf-8
require 'nokogiri'
require 'open-uri'
require 'csv'
require 'mechanize'
@prices = Array.new
@title = Array.new
@description = Array.new
@warranty = Array.new
@leadtime = Array.new
@urls = Array.new
@categories = Array.new
@subcategories = Array.new
@subsubcategories = Array.new
urls = CSV.read("lotofurls.csv")
(0..urls.length - 1).each do |index|
puts urls[index][0]
doc = Nokogiri::HTML(open(urls[index][0]))
Похоже, все, что мне нужно выяснить, это как передать URL-адреса коду, сохраняющему изображение, но любая помощь будет очень признательна!