Асинхронно взаимодействуя с соответствующим API (SWAPI), получить информацию обо всех персонажах "Зведных войн" и записать информацию в базу данных.
Необходимо выгрузить cледующие поля:
id - ID персонажа
birth_year
eye_color
films - строка с названиями фильмов через запятую
gender
hair_color
height
homeworld
mass
name
skin_color
species - строка с названиями типов через запятую
starships - строка с названиями кораблей через запятую
vehicles - строка с названиями транспорта через запятую
Разработано python-приложение, асинхронно отправляющее HTTP-запросы к SWAPI и асинхронно записывающее полученные данные в базу postgres.
python 3.10, asyncio, aiohttp, more-itertools, sqlalchemy, postgresql, pgadmin, docker, docker-compose.
- Создать файл .env, где прописать переменные окружения. Образец: .env.example.
docker-compose up -d- запуск приложения на локальном хосте- http://localhost:5051/ - посмотреть таблицу базы данных
docker-compose down- остановить приложение
В модуле input_data собраны условия задачи и необходимые входящие данные:
- url
- поля персонажа, которые нужно записать в БД
- поля, которые нужно получить дополнительно
- CHUNK_SIZE
Все функции, кроме init_db() и main(), определены в модуле funcs.
Функция init_db() определена в модуле models.
Функция main() определена в модуле main.