0

I test a code, with one of its outputs is an image. I need to make sure the image has a valid output, but if it is a NULL, I seem to can't tell from a valid image in the inspection section.

The only difference I could tell is a field called src where a null image may appear like this:

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjwAAAGQCAIAAAAlWy3FAAAABmJLR0QA/wD/AP+gvaeTAAAF+klEQVR4nO3VQQ0AIBDAMMC/58MCP7KkVbDf9swsACg4vwMA4JVpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkmBYAGaYFQIZpAZBhWgBkXCWIBh2WAyGkAAAAAElFTkSuQmCC width="572" height="400">

Whereas for valid images, the src field is MUCH longer. Is there a python command which analyzes an image via a link to see if it is too... "white"?

Also, I did notice that in the field I just quoted here there is a repeating substring "pAZBhWgBkmBYAGaYFQIZ". is this significant?

ohadbh
  • 39
  • 4
  • Does this answer your question? [Check if a string is encoded in base64 using Python](https://stackoverflow.com/questions/12315398/check-if-a-string-is-encoded-in-base64-using-python) – 0stone0 Mar 24 '21 at 16:15
  • bigger problem there is lack of quotes around the src methinks... you can create an image object out of the base64 text and check various things. (Size would probably be a good indicator...but null would be easy to catch) – pcalkins Mar 24 '21 at 17:02
  • That's a "valid" image by most criteria; how exactly would you define "null image"? – tripleee Apr 30 '21 at 05:00

1 Answers1

-1

If you just want to check whether an image is currently present at a specific URL, there is quite an easy way to check that.

from urllib.request import urlopen
import requests
image_formats = ("image/png", "image/jpeg", "image/gif")
url = "http://localhost/img.png"
site = urlopen(url)
meta = site.info()  # get header of the http request
if meta["content-type"] in image_formats:  
    print("it is an image")

More such solutions/alternatives can be found in check if a URL to an image is up and exists in Python

tripleee
  • 175,061
  • 34
  • 275
  • 318
Abdul Rehman
  • 301
  • 2
  • 7