我试图以编程方式创build我自己的基于ruby / rails的网站上托pipe的大量网页的缩略图。
我想能够编写一个独立的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
我需要awesome-screenshot-maker库(及其依赖)在Linux,Solaris和Mac OS X上构build相当简单。理想情况下,它将使用一个“gem install”命令进行安装。
我花了下午的时间探索各种选项,包括Moz 拍摄 射手 , webkit2png和rbwebkitgtk 。 他们都在正确的领域,但似乎没有三个平台上的工作。
如果我愿意从我的Rails应用程序(而不是网页)输出PDF,RMagick看起来像是一个可能的select,但是这让我感觉像是hacky。 RMagic和imagemagick在Mac OS X上运行起来也非常麻烦。
这样的图书馆是否存在,可以很容易地在三个平台上设置?
seleniumium RC有一个Ruby界面,可以使用capture_screenshot(文件名,kwargs)抓取屏幕截图。
然后,您必须将其缩小为缩略图。
你可能想试试这个:
有使用phantom.js的https://github.com/maxwell/screencap
有一个可用的PageGlimpse红宝石包装:
http://code.squidchunks.com/pageglimpse/
不幸的是,使用条款声明:“您不得使用或启动任何自动化系统,包括但不限于”离线阅读器“,”蜘蛛“等来捕获服务提供的数据。
你可以使用宝石的美味 。
Gastly.capture('http://google.com', 'output.png')