我正在尝试以编程方式创建托管在我自己的基于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
我需要在Linux,Solaris和Mac OS X上构建相当容易的awesome-screenshot-maker库(及其依赖项)。理想情况下,它将使用单个“gem install”命令进行安装。
我花了一整个下午探索各种选项,包括Moz snap shooter,webkit2png和rbwebkitgtk。它们都在正确的区域,但似乎没有一个在所有三个平台上都有效。
如果我愿意从我的rails应用程序(而不是网页)输出PDF,那么RMagick看起来是一个可能的选项,但这让我感到很骇人听闻。在Mac OS X上运行RMagic和imagemagick是非常费力的。是否存在可以在三个平台上轻松设置的库?
答案 0 :(得分:6)
Selenium RC有一个Ruby界面,可以使用capture_screenshot(filename,kwargs)抓取屏幕截图。
然后你必须将它缩小为缩略图。
答案 1 :(得分:2)
你可能想试试这个:
答案 2 :(得分:2)
有https://github.com/maxwell/screencap使用phantom.js
答案 3 :(得分:1)
PageGlimpse有一个红宝石包装:
http://code.squidchunks.com/pageglimpse/
不幸的是,使用条款规定“您不得使用或启动任何自动系统,包括但不限于”离线阅读器“,”蜘蛛“等,以捕获服务提供的数据。”
答案 4 :(得分:1)
您可以使用gem gastly。
Gastly.capture('http://google.com', 'output.png')