使用nokogiri rails保存并显示报废图像

时间:2013-07-28 12:57:53

标签: ruby-on-rails ruby screen-scraping nokogiri

更新2

我使用nokogiri将内容和图像下载到rails应用程序。为此,我编写了脚本/ scrapping.rb文件:

require 'open-uri'

page_url = "<site_url>"

url = "<page_of_site_url>"
b = Nokogiri::HTML(open(url))

b.css(".col").each do |item|
    img_url = item.at(".field-content a img")['src'].split('?')[0]
    root_img_url = URI.join(page_url,img_url).to_s
    file = File.open(File.join(Rails.root, 'app', 'assets', 'images', File.basename(root_img_url)), 'wb') do |f|
        f.write(open(root_img_url).read)
    end
    Book.create(
        :cover => File.basename(root_img_url),
        :title => item.at_css(".views-field-title a").text,
        :onsaledate => item.at_css(".date-display-single")['content'])
    end
end

然后我在终端中运行脚本:

rails runner script/scrapping.rb

几秒钟之后,我的数据库中包含内容信息,以及资源/图像文件夹中的图像。

感谢@JoshLewis对@mario_chavez的帮助,特别感谢他的帮助。

0 个答案:

没有答案