Я тоже пытаюсь пройтись по всем страницам API, получить несколько объектов json, сохранить их как кортежи в списке и вернуть окончательный список
Это прекрасно работает только с 1 объектом, но я не могу заставить его работать, как только я начинаю добавлять несколько. Я пробовал различные твики и менял их на циклы while, но, похоже, не смог заставить работать
def star_wars_characters(url):
all_names1 = []
response1 = requests.get(url)
data1 = response1.json()
for x in data1['results']:
all_names1.append(x['name'])
while data1['next'] is not None:
response1 = requests.get(data1['next'])
data1 = response1.json()
for x in data1['results']:
all_names1.append(x['name'])
return all_names1
print(star_wars_characters("https://swapi.co/api/people/?page=1"))
Я пытаюсь получить вывод, как показано ниже, но для всех страниц. Это всего лишь результаты для первой страницы, которую мне удалось вернуть, изменив цикл на while, но я не смог получить оставшиеся страницы данных:
[('Luke Skywalker', '77'), ('C-3PO', '75'), ('R2-D2', '32'), ('Darth Vader', '136'), ('Leia Organa', '49'), ('Owen Lars', '120'), ('Beru Whitesun lars', '75'), ('R5-D4', '32'), ('Biggs Darklighter', '84'), ('Obi-Wan Kenobi', '77')]