Takes screenshots of websites
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Website Screenshot

Creates a new webkit window using the QT framework of a specified url and saves a screenshot when the page has finished loading.


From ruby:

ws = WebsiteScreenshot.new :url => "http://google.com"

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 plugins

If 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.


Webkit 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 code

The 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 implementations

This 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.


This package is licensed under the MIT license and/or the Creative Commons Attribution-ShareAlike.