如何使用ruby和unix服务器截取网页截图?

Lee*_*Lee 8 ruby unix gtk screenshot rmagick

我正在尝试以编程方式创建大量网页的缩略图,这些网页托管在我自己的基于ruby/rails的网站上.

我希望能够编写一个独立的ruby代码,看起来像这样:

require 'awesome-screenshot-maker'

items.each do |id|
  url = "http://foo.com/bar/#{id}"
  shooter = AwesomeScreenshotMaker.new(0.2) # thumbnails are 20% of original
  shooter.capture(url, "/images/thumbnail-#{id}.png")
end
Run Code Online (Sandbox Code Playgroud)

我需要在Linux,Solaris和Mac OS X上构建相当容易的awesome-screenshot-maker库(及其依赖项).理想情况下,它将使用单个"gem install"命令进行安装.

我花了一个下午探索各种选项,包括Moz snap shooter,webkit2pngrbwebkitgtk.它们都在正确的区域,但似乎都不适用于所有三个平台.

如果我愿意从我的rails应用程序(而不是网页)输出PDF,RMagick看起来像是一个可能的选项,但这让我觉得很糟糕.在Mac OS X上运行RMagic和imagemagick也很费力.

是否存在可以在三个平台上轻松设置的库?

Cov*_*ene 6

Selenium RC有一个Ruby接口,可以使用capture_screenshot(filename,kwargs)获取截图.

然后,您必须将其缩小为缩略图.