May the force be with you

Что нужно сделать

Фанаты «Звёздных войн» (Star Wars) написали API по своей любимой вселенной. Ссылка на документацию: https://swapi.dev/ Внимательно изучите документацию этого API и напишите программу, которая выводит на экран (и в JSON-файл) информацию о пилотах легендарного корабля Millennium Falcon. Информация о корабле должна содержать следующие пункты:

  1. название,
  2. максимальная скорость,
  3. класс,
  4. список пилотов.

Внутри списка о каждом пилоте должна быть следующая информация:

  1. имя,
  2. рост,
  3. вес,
  4. родная планета,
  5. ссылка на информацию о родной планете.

Что оценивается

  • Результат вычислений корректен.
  • Информация собрана в словарь с правильной структурой.
  • Переменные, функции и собственные методы классов имеют значащие имена (не a, b, c, d).
import requests, json


def starscraping(url: str='https://swapi.dev/api/'):
    '''Функция собирает информацию о корабле Millennium Falcon,
    записывает в файл .json и возвращает'''

    req = requests.get(f'{url}starships')
    data = json.loads(req.text)
    result = dict()

    for ship in data['results']:
        if ship['name'] == 'Millennium Falcon':

            result = {
                'Название': ship['name'],
                'Максимальная скорость': ship['max_atmosphering_speed'],
                'Класс': ship['starship_class'],
                'Список пилотов': []
            }


        for url in ship['pilots']:
            pilot_req = requests.get(url)
            pilot_data = json.loads(pilot_req.text)

            planet_req = requests.get(pilot_data['homeworld'])
            planet_data = json.loads(planet_req.text)

            pilot_info = {
                'Имя': pilot_data['name'],
                'Рост': pilot_data['height'],
                'Вес': pilot_data['mass'],
                'Родная планета': planet_data['name'],
                'Ссылка на информацию о планете': pilot_data['homeworld']
                }

            result['Список пилотов'].append(pilot_info)

    with open('starship.json', 'w', encoding='UTF-8') as file:
        json.dump(result, file, indent=4)

    return result

def main():
    print(starscraping())

if __name__ == '__main__':
    main()