1

更新 2

我使用 nokogiri 将内容和图像下载到 Rails 应用程序。为此,我编写了 script/scraping.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/scraping.rb

几秒钟后,我有了包含内容信息的数据库,以及文件夹 assets/images 中的图像。

感谢@JoshLewis 的关注,特别感谢@mario_chavez 的帮助。

4

0 回答 0