37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
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}")
|