Проект CW5 представляет собой консольное приложение, которое позволяет пользователю взаимодействовать с данными о вакансиях с сайта hh.ru (HeadHunter). Пользователю доступны следующие действия:
- Получение списка всех компаний и количества вакансий у каждой компании
- Получение списка всех вакансий с указанием названия компании, названия вакансии и зарплаты и ссылки на вакансию
- Получение средней зарплаты по вакансиям.
- Получение списка всех вакансий, у которых зарплата выше средней по всем вакансиям
- Получение списка всех вакансий, в названии которых содержится ключевое слово
- Завершение программы
- Убедитесь, что у вас установлен Python версии 3.12.
- Установите зависимости из файла
pyproject.toml
, используя Poetry:poetry install
- Запустите приложение:
python main.py
Для работы проекта требуется установить зависимости, указанные в файле pyproject.toml
и poetry.lock
, включая:
- Python 3.12
- Библиотека pytest для тестирования (pytest 8.2.2).
- Библиотека pytest-cov для измерения покрытия кода тестами (pytest-cov 5.0.0).
- Библиотека requests для работы с HTTP запросами (requests 2.32.3).
- psycopg2 — это библиотека для работы с базами данных PostgreSQL в Python
-
main.py: Главный файл проекта, ответственный за запуск.
-
config.py: Содержит константы и пути к данным, список интересующих компаний, параметры для запросов по vacancies и employers, а также функцию - конфигуратор БД - config.
-
data/: Директория с данными:
- database.ini: Конфигурационный файл с данными для подключения к БД.
-
src/: Директория с основными модулями:
- api.py: Модуль для работы с API, включает абстрактный класс API, класс Parser для парсинга
- и обработки данных по вакансиям.
- dbmanager.py: Модуль для работы с БД PostgreSQL. Включает абстрактный класс AbstractDBManager, класс DBManager
- для манипуляций с данными и таблицами в БД.
- employer.py: Модуль для работы с объектами класса Employer.
- vacancy.py: Модуль для работы с объектами класса Vacancy.
-
tests/: Директория для модульных тестов.
-
pyproject.toml, poetry.lock: Файлы с зависимостями и конфигурацией Poetry.
Eduard Slobodyanik [email protected]