How to Automatically Take Timed Screenshots [Tutorial]

Post by
Andrew Pierno
How to Automatically Take Timed Screenshots [Tutorial]

If you need to take screenshots of a competitor’s website every day or keep up with the stock prices, you don’t have to set a timer on your phone. You just need to know how to take timed screenshots automatically.

How? This post will show you everything you need to take automated and timed screenshots with ScreenshotAPI.

Let’s dive in!

Taking Timed Screenshots Automatically

To illustrate how you can take timed screenshots automatically, we’ll write a simple script you can use to do this. In our script, we’ll use the schedule package, combined with the script we used to take screenshots with Python

Before we start writing our script, though, we’ll first need to install the package. This command in our terminal will help us:

script to take timed screenshots

Once we’ve installed the package on our system, we can start writing our script. 

First, we need to import all the packages we’ll need; schedule, time, ssl, and the parse and request modules of the urllib package. 

We’ll also create an unverified SSLContext object, as we did in our previous post. 

script to take timed screenshots

We’ll then define the variables we’ll use to construct our query. 

In this example, we’ll define our API key, the URL we want a screenshot of, the size of the screenshot, and the output format. 

script to take timed screenshots

Once we’ve defined our variables, we can construct the query we’ll use to call the API. 

script to take timed screenshots

Functions allow you to create blocks of reusable code that perform a specific task. So, unlike our previous example, we’ll write a function that will call the API. 

To do this, we’ll use the def keyword, name our function, and place the call to the API within our function code block.

script to take timed screenshots

With the code up to now, the script will take a screenshot of a specific website, except the call to the API is now contained in the get_screenshot function. 

Remember, though, that we want to take timed screenshots. 

Script to Take Timed Screenshots

We’ll now use the schedule package to accomplish this. (The package simplifies the process of scheduling tasks in Python and gives you several scheduling options.) 

In this example, we’ll use it to take a screenshot every morning at 8 am. 

We’ll also provide a condition that the script should run indefinitely, which means it will run until you stop it or reboot your machine.

script to take timed screenshots

This script will now take a screenshot every morning at 8 am and save it to your machine. 

More advanced users can also change the script so that it, for example, takes screenshots every morning and saves them with sequential file names. 

This will be ideal if you want to take a range of screenshots without looking at them daily. 

Start Taking Timed Screenshots Now

Hopefully, this post added another weapon to your screenshot-taking arsenal, and you’ll now be able to automatically take timed screenshots when you need them with ScreenshotAPI. To learn more about ScreenshotAPI’s range of features and how it makes taking advanced screenshots a breeze, register for your free API key today.