Bufficorn NFT Image Downloader

Automating Image Downloads with Python: How I Downloaded 10,000 Bufficorn NFTs for ETHDenver 2025

As part of my preparations for ETHDenver 2025, I’m creating Bufficorn-themed visual art! I faced a challenge: downloading 10,000 Bufficorn NFT images quickly and efficiently.

Manually downloading these files would have been time-consuming, so I created a simple Python script to automate the process. This blog post walks you through the solution, step by step, so you can use it for your own projects on a Mac.

The Challenge

https://prod-metadata.s3.amazonaws.com/images/1.png
https://prod-metadata.s3.amazonaws.com/images/2.png
...
https://prod-metadata.s3.amazonaws.com/images/10000.png

Step-by-Step Guide

1. Open the Terminal

On your Mac, open the Terminal by pressing Command + Space, typing Terminal, and pressing Enter.

2. Check if Python is Installed

Run the following command in the terminal to check if Python 3 is installed:

python3 --version

If Python is not installed, use Homebrew to install it:

brew install python

3. Install Required Libraries

Install the requests library, which is necessary for downloading files:

python3 -m pip install requests

4. Create a Project Directory

In the terminal, create a new directory for your project and navigate to it:

5. Write the Python Script

Create a Python file to hold the script:

nano download_images.py

Paste the following code into the file:

import os
import requests

# Directory to save images
download_dir = "images"
os.makedirs(download_dir, exist_ok=True)

# Base URL and range of image numbers
base_url = "https://prod-metadata.s3.amazonaws.com/images/"
start = 1
end = 10000

# Loop through and download images
for i in range(start, end + 1):
    image_url = f"{base_url}{i}.png"
    file_name = os.path.join(download_dir, f"{i}.png")

    try:
        response = requests.get(image_url, stream=True)
        if response.status_code == 200:
            with open(file_name, "wb") as file:
                for chunk in response.iter_content(chunk_size=8192):
                    file.write(chunk)
            print(f"Downloaded: {file_name}")
        else:
            print(f"Failed to download {image_url}: HTTP {response.status_code}")
    except Exception as e:
        print(f"Error downloading {image_url}: {e}")

print("Download complete.")

6. Run the Script

Run the script to start downloading the images:

python3 download_images.py

7. Verify the Download

Navigate to the images folder to confirm all files were downloaded:

open images

Conclusion

This Python script made downloading 10,000 Bufficorn NFT images effortless, saving me countless hours. Whether you’re working on a similar project or exploring Python for automation, I hope this guide helps you unlock new productivity superpowers. ETHDenver 2025 is shaping up to be an incredible event, and I’m excited to showcase my Bufficorn-themed visuals. Stay tuned for more updates!

Stay tuned for the next post:

Using an RTX 4090 GPU to Remove Backgrounds from 10,000 Bufficorn NFTs!


Happy coding!
— Wiggles
wiggles@ethdenver.com