Проект предназначен для получения данных о компаниях и вакансиях с сайта hh.ru, проектирования таблиц в базе данных PostgreSQL и загрузки полученных данных в созданные таблицы. В проекте используется Python, библиотека psycopg2
для работы с PostgreSQL, и библиотека requests
для взаимодействия с API hh.ru.
- Получение данных: Используется публичный API hh.ru для получения информации о работодателях и их вакансиях.
- Проектирование таблиц: Создание таблиц в базе данных PostgreSQL для хранения данных о работодателях и вакансиях.
- Заполнение базы данных: Реализация кода для заполнения таблиц данными.
- Класс
DBManager
: Реализация класса для работы с данными в базе данных.
config.py
: Конфигурация для подключения к базе данных и настройки логирования.vacancy_db_manager/api_service.py
: Модуль для получения данных о работодателях и вакансиях.vacancy_db_manager/db_creator.py
: Модуль для создания и заполнения базы данных.vacancy_db_manager/db_manager.py
: Реализация классаDBManager
для работы с базой данных.vacancy_db_manager/user_interactions.py
: Модуль для взаимодействия с пользователемmain.py
: Основной скрипт для взаимодействия с пользователем.
requests
: Для работы с API hh.ru.psycopg2
: Для взаимодействия с PostgreSQL.prettytable
: Для форматирования таблиц.python-dotenv
: Для загрузки переменных окружения из .env файла.logging
: Для логирования ошибок.jmespath
: Для обработки json
Для использования программы необходимо установить poetry
и выполнить следующие шаги:
-
Клонируйте репозиторий:
git clone git@github.com:RomanPecheritsa/VacancyDBManager.git
-
Установите зависимости:
poetry install
-
Настройка .env файла
DATABASE_NAME=<имя_вашей_базы_данных> DATABASE_USER=<ваш_пользователь> DATABASE_PASSWORD=<ваш_пароль> DATABASE_HOST=<ваш_хост> DATABASE_PORT=<ваш_порт>
- Запустите основной скрипт:
python main.py
Ошибки при работе с базой данных будут записываться в файл database_errors.log.