Skip to content

Lazarus-Phoenix/course_work_db

Repository files navigation

Проект по сбору и анализу данных о вакансиях с hh.ru

О проекте

Этот проект направлен на сбор данных о компаниях и вакансиях с hh.ru с последующим хранением в базе данных PostgreSQL. Для удобства работы с данными реализован класс DBManager, который обеспечивает простое взаимодействие с базой данных.

Проект включает следующие основные компоненты:

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

Как запустить проект

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

git clone https://github.com/your-repo-url.git


2. Установите все зависимости:

pip install -r requirements.txt


3. Настройте файл конфигурации `database.ini` с параметрами подключения к вашей базе данных PostgreSQL.

4. Запустите скрипт:

python main.py


## Использование

После запуска программы вы увидите меню с возможными действиями:

1. Получение списка всех компаний и количества вакансий у каждой компании
2. Получение списка всех вакансий с указанием названия компании, названия вакансии, зарплаты и ссылки на вакансию
3. Получение средней зарплаты по вакансиям
4. Получение списка всех вакансий с зарплатой выше средней
5. Получение списка всех вакансий по ключевому слову
6. Показ вариантов использования
7. Выход из программы

## Класс DBManager

Класс DBManager реализует следующие методы:

### Методы класса DBManager

- `connect()`: Устанавливает соединение с базой данных PostgreSQL
- `disconnect()`: Закрывает соединение с базой данных
- `get_companies_and_vacancies_count()`: Возвращает список компаний и количество вакансий у каждой компании
- `get_all_vacancies()`: Возвращает полную информацию о всех вакансиях и связанных компаниях
- `get_avg_salary()`: Возвращает среднюю зарплату по всем вакансиям
- `get_vacancies_with_higher_salary()`: Возвращает список вакансий с окладом выше среднего
- `get_vacancies_with_keyword(keyword)`: Возвращает список вакансий, соответствующих заданному ключевому слову

Все методы класса DBManager типизированы и имеют подробные docstrings для лучшего понимания их функциональности.

## Дополнительная информация

- Проект использует библиотеку psycopg2 для работы с PostgreSQL
- Для сборки данных используется API hh.ru
- Реализована обработка ошибок и логирование важных операций

## Замечания

- Рекомендуется использовать виртуальное окружение для управления зависимостями
- Перед использованием убедитесь, что у вас есть доступ к API hh.ru и PostgreSQL серверу
- Проект предоставляет удобный способ собирать и анализировать данные о вакансиях с hh.ru

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages