import requests from PIL import Image from io import BytesIO # The base URL for ChiliFresh - the UPC, ISSN, and sizes aren't too relevant here BASE_URL = "https://content.chilifresh.com/?isbn={isbn}&upc=&issn=&size=S" # File management isbn_file = "isbns.txt" # Provide a single column list of ISBNs in a plain text file output_file = "isbn-image-checks.txt" # Your results will drop here # Read the ISBNs from the input file with open(isbn_file, "r") as f: isbns = [line.strip() for line in f if line.strip()] # Open and prepare the output file with open(output_file, "w") as out: for isbn in isbns: url = BASE_URL.format(isbn=isbn) try: response = requests.get(url) response.raise_for_status() image = Image.open(BytesIO(response.content)) width, height = image.size out.write(f"{isbn}: {width} x {height} pixels\n") print(f"Processed ISBN {isbn}: {width} x {height}") except requests.exceptions.RequestException as e: out.write(f"{isbn}: Image retrieval error - {e}\n") print(f"Error retrieving image for ISBN {isbn}: {e}") except Exception as e: out.write(f"{isbn}: Image processing error - {e}\n") print(f"Error processing image for ISBN {isbn}: {e}")