Retry failed requests in Python

For most websites, your first requests will always be successful, however, it’s inevitable that some of them will fail. For these failed requests, the API will return a 500 status code and won’t charge you for the request.

In this case, we can make our code retry to make the requests until we reach a maximum number of retries that we set:

from scrapingbee import ScrapingBeeClient # Importing SPB's client
client = ScrapingBeeClient(api_key='YOUR-API-KEY') # Initialize the client with your API Key, and using screenshot_full_page parameter to take a screenshot!

MAX_RETRIES = 5 # Setting the maximum number of retries if we have failed requests to 5.

for _ in range(MAX_RETRIES):
    response = client.get("http://scrapingbee.com/blog", params={'screenshot': True}) # Scrape!

    if response.ok: # If we get a successful request
        with open("./screenshot.png", "wb") as f:
            f.write(response.content) # Save the screenshot in the file "screenshot.png"
            break # Then get out of the retry loop
    else: # If we get a failed request, then we continue the loop
        print(response.content)
Go back to tutorials