Я пишу небольшую функцию, чтобы поймать 404, когда я запрашиваю информацию из API. КодPython не поймал исключение 404 во время цикла
def film_api():
number = random.randint(1, 10000)
film = requests.get('https://api.themoviedb.org/3/movie/{}?api_key=################'.format(number))
while film.status_code == '404':
film = requests.get('https://api.themoviedb.org/3/movie/{}?api_key=################'.format(number))
else:
return film.json()
404 Выход
{
'status_code': 34,
'status_message': 'The resource you requested could not be found.'
}
правильный выход
{
'spoken_languages': [{
'name': 'English',
'iso_639_1': 'en'
}],
'genres': [{
'name': 'Comedy',
'id': 35
}, {
'name': 'Drama',
'id': 18
}],
'popularity': 0.493744,
'original_title': 'American Splendor',
'overview': 'An original mix of fiction and reality illuminates the life of comic book hero everyman Harvey Pekar.',
'runtime': 101,
'status': 'Released',
'homepage': 'http://www.newline.com/properties/americansplendor.html',
'video': False,
'revenue': 6003587,
'release_date': '2003-08-15',
'adult': False,
'vote_average': 6.4,
'imdb_id': 'tt0305206',
'poster_path': '/pcZ08ts1HaxWpUMMMQL2z3pomf1.jpg',
'production_companies': [],
'belongs_to_collection': None,
'title': 'American Splendor',
'backdrop_path': '/AswDSBB3rbh2auan9tKjETg09H8.jpg',
'original_language': 'en',
'budget': 0,
'vote_count': 43,
'production_countries': [{
'iso_3166_1': 'US',
'name': 'United States of America'
}],
'tagline': 'Ordinary life is pretty complicated',
'id': 2771
}
Я отскакивая назад и вперед между Docs, чтобы найти свой ответ и переехал из кроме цикла while. Я использую Python, Flask и Requests для создания простой веб-функции, поэтому она не должна быть слишком сложной.
Есть что-то, что мне не хватает конкретно?
Итак, если вы получаете 404, вы хотите, чтобы повторно получить тот же самый URL, который только что бросил 404? –
Спасибо вам за ваш вход. но ответит @Adem Öztaş. – Akseone