Skip to content

The project is designed to obtain data about companies and vacancies from the website hh.ru , designing tables in a PostgreSQL database and uploading the resulting data to the created tables

Notifications You must be signed in to change notification settings

RomanPecheritsa/VacancyDBManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по работе с базой данных вакансий

Описание проекта

Проект предназначен для получения данных о компаниях и вакансиях с сайта hh.ru, проектирования таблиц в базе данных PostgreSQL и загрузки полученных данных в созданные таблицы. В проекте используется Python, библиотека psycopg2 для работы с PostgreSQL, и библиотека requests для взаимодействия с API hh.ru.

Основные шаги

  1. Получение данных: Используется публичный API hh.ru для получения информации о работодателях и их вакансиях.
  2. Проектирование таблиц: Создание таблиц в базе данных PostgreSQL для хранения данных о работодателях и вакансиях.
  3. Заполнение базы данных: Реализация кода для заполнения таблиц данными.
  4. Класс DBManager: Реализация класса для работы с данными в базе данных.

Структура проекта

  1. config.py: Конфигурация для подключения к базе данных и настройки логирования.
  2. vacancy_db_manager/api_service.py: Модуль для получения данных о работодателях и вакансиях.
  3. vacancy_db_manager/db_creator.py: Модуль для создания и заполнения базы данных.
  4. vacancy_db_manager/db_manager.py: Реализация класса DBManager для работы с базой данных.
  5. vacancy_db_manager/user_interactions.py: Модуль для взаимодействия с пользователем
  6. main.py: Основной скрипт для взаимодействия с пользователем.

Используемые библиотеки

  • requests: Для работы с API hh.ru.
  • psycopg2: Для взаимодействия с PostgreSQL.
  • prettytable: Для форматирования таблиц.
  • python-dotenv: Для загрузки переменных окружения из .env файла.
  • logging: Для логирования ошибок.
  • jmespath: Для обработки json

Установка

Для использования программы необходимо установить poetry и выполнить следующие шаги:

  1. Клонируйте репозиторий:

    git clone git@github.com:RomanPecheritsa/VacancyDBManager.git
  2. Установите зависимости:

     poetry install
  3. Настройка .env файла

    Создайте файл .env в корне проекта и добавьте в него следующие переменные окружения:**
    DATABASE_NAME=<имя_вашей_базы_данных>
    DATABASE_USER=<ваш_пользователь>
    DATABASE_PASSWORD=<ваш_пароль>
    DATABASE_HOST=<ваш_хост>
    DATABASE_PORT=<ваш_порт>
    

Запуск проекта

  1. Запустите основной скрипт:
    python main.py

Логирование ошибок

Ошибки при работе с базой данных будут записываться в файл database_errors.log.

About

The project is designed to obtain data about companies and vacancies from the website hh.ru , designing tables in a PostgreSQL database and uploading the resulting data to the created tables

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages