Skip to content

skulsik/Job_Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Парсер вакансий Краткий обзор: Техническое задание выполнено в учебно - подготовительных к работе целях. Парсер вакансий считывает посредством API, вакансии с сайтов HH.ru и SuperJob. Считанные данные записываются в фаил, далее по определенным запросам пользователя, считываются из файла и формируются для вывода.


Структура программы:

  • Подключение библиотек из окружения и папки Lib(в которой хранятся фаилы с классами)
  • Создается экземпляр класса User(работа с пользователем) и экземпляр класса FileDateVerification(проверяет существует ли фаил, если существует больше 24 часов ставит флаг на обновление)
  • Проверка на существование пользователя(если программой уже пользовались создается фаил user.txt): - пользователь существует: вывод на экран приветствия с информацией о последнем поиске вакансий; предложение продолжить просмотр вакансий, из предыдущего запроса или начать новый поиск вакансий, либо начать поиск всех вакансий. Если введена новая вакансия(которая отличается от предыдущего запроса), ставит флаг на обновление вакансий и записывает название вакансии в фаил user.txt. - новый пользователь: спрашивает имя пользователя и название вакансии для поиска, записывает в фаил user.txt.
  • Запускается бесконечный цикл, выход из цикла комманда exit.
  • Создает экземпляр класса работы: с фаилом вакансий и с методами поиска
  • Проверка на введенные данные. Если введена новая вакансия ставит флаг на обновление вакансий и записывает название вакансии в фаил user.txt
  • Если флаг стоит на обновлении или прошло 24 часа с момента создания файла, либо если файла не существует: происходит считывание вакансий по заданному названию вакансии; запись в фаил вакансий.
  • Предложение ввести количество выводимых на экран вакансий, если пользователь ни чего не ввел, по умолчанию 10.
  • Предложение ввести команду: последние вакансии, топ самых высоких зарплат, без опыта работы.
  • Считывание вакансий в список.
  • В зависимости от выбора команды запускает метод, который формирует односвязный список экземпляров вакансий.
  • Вывод односвязного списка экземпляров вакансий на экран.
  • Предложение посмотреть другую вакансию либо завершить программу.

Папка Lib и файлы: Фаил Errors: классы ошибок(вывод на экран) проработанных в файле Verification

Фаил Verification:

  • class RequestVerification: Проверка адреса на существование или работоспособность, так же адресс может быть не передан вообще. В случае ошибки вызов соответствующего класса из файла Errors.
  • class APIKeyVerification: Проверка наличия ключа (имени) в переменных окружения Windows. В случае ошибки вызов соответствующего класса из файла Errors.
  • class ListVerification: Проверка списка на пустой список. В случае ошибки вызов соответствующего класса из файла Errors.
  • class JsonVerification: Проверяет соответствует ли словарь, json формату. В случае ошибки вызов соответствующего класса из файла Errors.
  • class FileDateVerification: Проверяет фаил на существование, если существует проверяет время существования, не более 24 часов. Возвращает флаг(True/False) команду на обновление.
  • KeyInDictVerification: Проверяет ключи словаря на существование, возвращает словарь с соответствующими ключами с bool значением.

Фаил User:

  • class User: запись информации о пользователе в фаил, чтение фаила, и методы получения имени и вакансии.

Фаил GetVacancy:

  • class HH: Считывает вакансии с HH.ru в список, в соответствии с запросом вакансии.
  • class SuperJob: Считывает вакансии с SuperJob.ru в список, в соответствии с запросом вакансии.
  • class Engine: Абстрактный класс, с методом склеивания двух списков вакансий(HH.ru и SuperJob.ru)
  • class JobAssembly: собирает все методы из классов SuperJob и Engine в один класс.

Фаил JobProcessing:

  • class JobProcessing: обладает методами: запись в фаил склеенного и обработанного списка вакансий; чтение фаила в список; удаление ненужных символов в строке; поиск последних(свежих) вакансий; поиск вакансий с высокой зарплатой; поиск вакансий без опыта работы.
  • Модернизация: class Vacancy -> создает экземпляр с данными о вакансии и ячейкой хранения ссылки на следующую вакансию; после чтения фаила и запроса пользователя создается односвязный список экземпляров вакансий; вывод так же работает с односвязным списком экземпляров вакансий.

Папка data: Фаил job.json с вакансиями, фаил user.txt с данными пользователя.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages