Курсовая 5. Работа с базами данных
В рамках проекта данные о компаниях и вакансиях получаются с сайта hh.ru, и загружаются в спроектированные таблицы в БД PostgreSQL.
Запуск проекта
До начала работы программы необходимо создать файл .env в который прописать значение следующих переменных:
DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
для создания и подключения к БД Postgres.
Необходимо произвести инсталяцию дополнительных модулей используемых программой в процессе функционирования
используя следующую команду введенную в терминале:
$ pip install -r requirements.txt
Точка входа в проект находиться в файле main.py. Необходимо запустить файл на выполнение,
например командой в терминале
$ python3 main.py
Далее выбрать из меню вызываемую функцию, которая выведет в консоль результат.
Класс HeadHunter
Класс HeadHunter, находящийся в файле hh_parser.py, берет данные о работодателях и их вакансиях с сайта hh.ru. Для этого используется публичный API hh.ru и библиотека requests. Имеет следующие методы:
get_employers():Берет список компаний с публичного API.
get_vacancies():Берет список вакансий с публичного API.
Класс DBManager
Класс DBManager , находящийся в файле db_manager.pyотвечает за подключение к БД Postgres, создание таблиц и занесения в них информации с сайта hh.ru.использует библиотеку psycopg2 для работы с БД. Имеет следующие методы: Основные методы
create_database():Подключается и создает базу данных в Postgres.
create_tables():Создает таблицы с работодателями и вакансиями.
insert_data():Создает таблицы с работодателями и вакансиями.
Методы для работы с пользователем
get_companies_and_vacancies_count(): получает список всех компаний и количество вакансий у каждой компании.
get_all_vacancies(): получает список всех вакансий с указанием названия компании, названия вакансии и зарплаты и ссылки на вакансию.
get_avg_salary(): получает среднюю зарплату по вакансиям.
get_vacancies_with_higher_salary(): получает список всех вакансий, у которых зарплата выше средней по всем вакансиям.
get_vacancies_with_keyword(): получает список всех вакансий, в названии которых содержатся переданные в метод слова, например “python”.
Файл queries.sql
Файл queries.sql хранит SQL-запросы для портала