¶ ↑
Website ScreenshotCreates a new webkit window using the QT framework of a specified url and saves a screenshot when the page has finished loading.
¶ ↑
UsageFrom ruby:
ws = WebsiteScreenshot.new :url => "http://google.com" ws.get
Check the docs for additional options.
Command line:
$ website-screenshot -u http://google.com
You’ll probably want to use this library on a webserver. You can easily do so without installing the full X stack by launching it using xvfb:
$ xvfb-run --server-args="-screen 0, 1400x900x24" --size=1400x900 --url=http://viseztrance.com --file=vise.png
¶ ↑
Flash and other pluginsIf flash or any other plugin is installed it will be used while rendering the page. Locations can be set with environment variables such as $QTWEBKIT_PLUGIN_PATH.
¶ ↑
LimitationsWebkit segfaults on rare occasions killing the entire ruby process with it - that’s why I encourage calling the script from the command line.
The basic qt webkit browser doesn’t handle multiple redirects very well, for this reason the url is initially discovered using curl. Feel free to fork this and get around the limitation.
¶ ↑
Source codeThe source code is hosted on Github: github.com/viseztrance/website_screenshot
To get WebsiteScreenshot from source:
git clone git@github.com:viseztrance/website_screenshot.git
¶ ↑
Aknowledgements and implementationsThis code is the heart of a pet project I wrote in my spare time named mywebsit.es.
I also wrote a web service which I hope is a good starting point to anyone who implements this code.
¶ ↑
LicenseThis package is licensed under the MIT license and/or the Creative Commons Attribution-ShareAlike.