Sprijin Bază de date filme (The Movie Database)

Доброго времени суток подскажите , пожалуйста ,что я не так делаю в,в браузере ответ приходит а когда я запускаю код на PYTHON мне приходит ответ об ошибки. Ошибка при поиске постера на TMDB: HTTPSConnectionPool(host='api.themoviedb.org', port=443): Max retries exceeded with url: /3/search/movie?query=%D0%A7%D1%83%D0%B6%D0%BE%D0%B9+%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2+%D0%A5%D0%B8%D1%89%D0%BD%D0%B8%D0%BA%D0%B0+%282004%29&year=%D0%91%D0%BE%D0%B5%D0%B2%D0%B8%D0%BA%D0%B8&api_key=e39be2fde42f0bda8154741fa60b2bfc (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение')) вот сам код def find_poster_from_external_source(title, year): try: tmdb.API_KEY = '...........................................................' search = tmdb.Search() response = search.movie(query=title, year=year)

    if search.results:
        movie_id = search.results[0]['id']  # ID первого найденного фильма
        movie = tmdb.Movies(movie_id)
        images = movie.images()

        if images['posters']:
            poster_path = images['posters'][0]['file_path']  # Берем первый постер
            poster_url = f"https://image.tmdb.org/t/p/original{poster_path}"
            return download_poster(poster_url, title, year)

    logging.warning(f"Постер для фильма '{title}' ({year}) не найден на TMDB.")
    return None

except Exception as e:
    logging.error(f"Ошибка при поиске постера на TMDB: {e}")
    return None

except KeyError as e:
    logging.error(f"Ошибка при обработке ответа от TMDB: {e}")
return None

Функция для повторных попыток запросов

def get_with_retries(url, headers=None, max_retries=3): session = requests.Session() retries = Retry(total=max_retries, backoff_factor=1, status_forcelist=[500, 502, 503, 504]) session.mount('https://', HTTPAdapter(max_retries=retries)) try: # Случайная задержка между 1 и 3 секундами time.sleep(random.uniform(1, 3)) response = session.get(url, headers=headers, timeout=10) response.raise_for_status() return response except requests.exceptions.RequestException as e: logging.error(f"Ошибка при запросе {url}: {e}") return None

1 răspuns (pe pagina 1 din 1)

Jump to last post

Привет! 👋

Судя по ошибке [WinError 10061], ваш код не может подключиться к API TMDB. Возможные причины:

  1. Фаервол или антивирус блокирует Python – попробуйте временно отключить их.
  2. Неверный API-ключ или ошибка в запросе – убедитесь, что передаёте year как число, а не Боевики (жанр).
  3. Проблемы с интернет-соединением или VPN – попробуйте отключить VPN и запустить код в другой сети.
  4. Слишком много запросов за короткое время – TMDB может временно заблокировать ваш IP, попробуйте добавить time.sleep(random.uniform(2, 5)) между запросами.
  5. Попробуйте выполнить запрос через requests без использования tmdbsimple, чтобы проверить подключение:
import requests
url = "https://api.themoviedb.org/3/search/movie"
params = {"api_key": "ВАШ_API_КЛЮЧ", "query": "Чужой против Хищника", "year": 2004}
response = requests.get(url, params=params)
print(response.json())
Если этот код работает, значит проблема в библиотеке tmdbsimple. Попробуйте обновить её (pip install --upgrade tmdbsimple).

Надеюсь, это поможет! 🚀

Nu găsiți un film sau un serial? Autentificați-vă pentru a-l crea.

Globale

s focalizează bara de căutare
p deschide meniul profilului
esc închide o fereastră deschisă
? deschide fereastra cu scurtături de la tastatură

Pe paginile media

b mergi înapoi (sau la părinte atunci când este cazul)
e mergi la pagina de editare

Pe paginile sezoanelor filmelor seriale

(săgeată dreapta) mergi la sezonul următor
(săgeată stânga) mergi la sezonul precedent

Pe paginile episoadelor filmelor seriale

(săgeată dreapta) mergi la episodul următor
(săgeată stânga) mergi la episodul precedent

Pe toate paginile de imagini

a deschide fereastra pentru adăugarea de imagini

Pe toate paginile de editare

t deschide selectorul de traduceri
ctrl+ s trimite formularul

Pe paginile de discuții

n crează o discuție nouă
w comută starea de vizionare
p comută publică/privată
c comută închisă/deschisă
a deschide activitatea
r răspunde la discuție
l mergi la ultimul răspuns
ctrl+ enter trimite mesajul
(săgeată dreapta) pagina următoare
(săgeată stânga) pagina precedentă

Setări

Doriți să evaluați sau să adăugați acest articol într-o listă?

Autentificare