Take Website Screenshots with Perl
GrabzIt's screenshot API is very flexible and can be called in many ways such as from a cronjob, a web page or application. The simplest way to add screenshots and more to your Perl application is to follow these steps:
- Get your free Application Key and Secret.
- Download the free Perl Demo and Package and try it out.
- Find out the basics about how GrabzIt's API works by reading the below overview.
Perl API Overview
To use the API you will first need to create an instance of the GrabzItClient class and pass your application key and application secret from your GrabzIt account to the constructor.
# Create the GrabzItClient class
# Replace "APPLICATION KEY", "APPLICATION SECRET" with the values from your account!
$grabzIt = new GrabzItClient("APPLICATION KEY", "APPLICATION SECRET");
Then decide if you want to convert a web page into a image screenshot or PDF using the SetImageOptions or SetPDFOptions methods respectively. However if you want to convert a video into an animated GIF you will need to use the SetAnimationOptions method and to convert a HTML table into a CSV document you will need to use the SetTableOptions method. Then just pass the URL of the web page you want to convert to the method as shown below.
# To take a image screenshot
# Or to take a PDF screenshot
# Or to convert online videos into animated GIF's
# Or to capture table(s)
Finally use one of the two following save methods. The first save method shown below requires the URL of handler.pl this handler will process the callback from GrabzIt and save the resulting screenshot.
If the recommended Save method above can't be used then the synchonous SaveTo method can be used. However this will force your application to wait while the screenshot is created, it is then automatically saved to the specified file path.
$filepath = "images/test.jpg";
There are many more screenshot options including; configuring the browser height, browser width, screenshot height, screenshot width, the delay before a screenshot is taken and the image format of the screenshot. For all these options and more please see the Client documentation.