Python исключает недоступные изображения с помощью запросов
Я написал очень простую функцию с запросами, которая при передаче url проверяет, получит ли она ответ и является ли этот ответ изображением. Она действительно работает, но временами безумно медленно. неопытен, чтобы понять, почему так происходит. Как я могу улучшить это или добиться того же самого лучшим и более быстрым способом?
def is_image_url(url):
try:
response = requests.get(url)
status = response.status_code
print(status)
if response.status_code == 200:
content_type = response.headers.get('content-type')
print(content_type)
if content_type.startswith('image'):
return True
return False
except Exception as e:
print(e)
return False
Я использую эту функцию для исключения изображений, которые недоступны, например, изображений из instagram, facebook и т.д. Я думал, что она может работать нормально, потому что мне нужно проверить только 10 изображений, которые я получаю из Google Custom Search api.
на данный момент я исключил функцию из приложения и попытался проделать аналогичные действия с проверкой высоты или ширины изображения, чтобы убедиться, что оно существует и доступно, но без особого успеха.
for image in img['items']:
height = image['image']['height']
width = image['image']['width']
imgTitle = image['title']
imgHtmlTitle = image['htmlTitle']
imgContext = image['image']['contextLink']
imgLink = image['link']
workingImg = is_image_url(imgLink)
print(f'alt {height}.... larg {width}')
info_img = {'imgTitle' : imgTitle, 'imgHtmlTitle' : imgHtmlTitle, "imgContext" : imgContext, "imgLink" : imgLink}
if workingImg:
risultati_immagini.append(info_img)