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) 
Вернуться на верх