Мне нужно получить 500 самых популярных фильмов из REST API, но результаты ограничены 20 на страницу, и я могу делать только 40 звонков каждые 10 секунд (https://developers.themoviedb.org/3/getting-started/request-rate-limiting). Я не могу зациклить динамически через нумерованные результаты, так что 500 самых популярных результатов находятся в одном списке.
Я могу успешно вернуть 20 самых популярных фильмов (см. Ниже) и перечислить номер фильма, но я застрял, работая в цикле, который позволяет разбивать страницы на 500 без потери времени из-за API ограничение скорости.
import requests #to make TMDB API calls
#Discover API url filtered to movies >= 2004 and containing Drama genre_ID: 18
discover_api = 'https://api.themoviedb.org/3/discover/movie?
api_key=['my api key']&language=en-US&sort_by=popularity.desc&include_adult=false&include_video=false&primary_release_year=>%3D2004&with_genres=18'
#Returning all drama films >= 2004 in popularity desc
discover_api = requests.get(discover_api).json()
most_popular_films = discover_api['results']
#printing movie_id and movie_title by popularity desc
for i, film in enumerate(most_popular_films):
print(i, film['id'], film['title'])
Sample response:
{
"page": 1,
"total_results": 101685,
"total_pages": 5085,
"results": [
{
"vote_count": 13,
"id": 280960,
"video": false,
"vote_average": 5.2,
"title": "Catarina and the others",
"popularity": 130.491,
"poster_path": "/kZMCbp0o46Tsg43omSHNHJKNTx9.jpg",
"original_language": "pt",
"original_title": "Catarina e os Outros",
"genre_ids": [
18,
9648
],
"backdrop_path": "/9nDiMhvL3FtaWMsvvvzQIuq276X.jpg",
"adult": false,
"overview": "Outside, the first sun rays break the dawn. Sixteen years old Catarina can't fall asleep. Inconsequently, in the big city adults are moved by desire... Catarina found she is HIV positive. She wants to drag everyone else along.",
"release_date": "2011-03-01"
},
{
"vote_count": 9,
"id": 531309,
"video": false,
"vote_average": 4.6,
"title": "Brightburn",
"popularity": 127.582,
"poster_path": "/roslEbKdY0WSgYaB5KXvPKY0bXS.jpg",
"original_language": "en",
"original_title": "Brightburn",
"genre_ids": [
27,
878,
18,
53
],
Мне нужен цикл python для добавления разбитых на страницы результатов в один список, пока я не соберу 500 самых популярных фильмов.
Desired Output:
Movie_ID Movie_Title
280960 Catarina and the others
531309 Brightburn
438650 Cold Pursuit
537915 After
50465 Glass
457799 Extremely Wicked, Shockingly Evil and Vile