更新 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 的帮助。