Данные берутся отсюда: University Domains and Names API
Далее ищем заведения с ключевыми словами в названии для определения типа заведения: Колледж, университет или институт. Поиск по ключевым словам ведется на 4 самых наиболее встречаемых в наборе языках (английский, испанский, немецкий и французский). Под тип заведения добавляется колонка. Если не удаётся определить тип – поле остается пустым. Избавляемся от ненужных колонок.
Результат инкрементально (загружаем только новые записи) загружаем в базу PostgreSQL по расписанию раз в сутки в 3 ночи.
Создать .env файл в корне проекта со следующим содержимым:
export AIRFLOW_UID=50000
POSTGRES_USER=<ИМЯ_ПОЛЬЗОВАТЕЛЯ>
POSTGRES_PASSWORD=<ПАРОЛЬ>
POSTGRES_DB=<НАЗВАНИЕ_БД>
_AIRFLOW_WWW_USER_USERNAME=<ИМЯ_ПОЛЬЗОВАТЕЛЯ>
_AIRFLOW_WWW_USER_PASSWORD=<ПАРОЛЬ>
Поднять проект с помощью Docker:
docker-compose up -d
Запущенный сервер доступен по адресу 127.0.0.1:8080
Авторизироваться и создать соединение Admin -> Connections:
connection id: postgres
connection type: Postgres
host: postgres
login: <ИМЯ_ПОЛЬЗОВАТЕЛЯ>
port: 5432