从生成下载链接的站点下载Ruby文件?

从生成下载链接的站点下载Ruby文件?,ruby,Ruby,我正在尝试编写一个Ruby脚本,从一个网站下载一个图像文件,而这个网站最初没有图像。该站点的正常工作方式是,当您访问该站点时,该站点会等待大约一秒钟,同时生成链接以下载图像。完成后,浏览器会向用户显示一个下载窗口,以实际下载图像。在任何情况下,图片都不会出现在网站上,网站总是说“请稍候”,或者“您的图片已准备好下载” 如何编写一个快速而肮脏的ruby脚本,将这些图像文件链接下载到用户的桌面上?使用gem是自动与网站交互的一种流行方式。使用Watir和nokogiri require 'watir

我正在尝试编写一个Ruby脚本,从一个网站下载一个图像文件,而这个网站最初没有图像。该站点的正常工作方式是,当您访问该站点时,该站点会等待大约一秒钟,同时生成链接以下载图像。完成后,浏览器会向用户显示一个下载窗口,以实际下载图像。在任何情况下,图片都不会出现在网站上,网站总是说“请稍候”,或者“您的图片已准备好下载”


如何编写一个快速而肮脏的ruby脚本,将这些图像文件链接下载到用户的桌面上?

使用gem是自动与网站交互的一种流行方式。

使用Watir和nokogiri

require 'watir-webdriver'
require 'nokogiri'

$browser = Watir::Browser.new
$browser.goto "google.com"

$page_html = Nokogiri::HTML.parse($browser.html)

image = []
image = $page_html.css("img#hplogo").map{|link| link['src']}[0]

image_src = "https://www.google.com" + image

File.open("/home/user/Desktop/image.png", 'wb') do |f|
    f.write open(image_src).read
end

根据你告诉我们的一点,该网站使用动态HTML的可能性非常大,JavaScript将实际显示下载窗口。利用这一点的唯一方法是使用项目中的某些内容。