Skip to content

Отклики на вакансии, сбор вакансий и ключевых навыков по API Headhunter.

Notifications You must be signed in to change notification settings

NankuF/search_vacancies

Repository files navigation

Отклик на вакансии, сбор вакансий и ключевых навыков в Headhunter

UPD 6.10.2022: теперь приложение не откликается на одно и то же резюме в разных городах. (тестируется)

UPD 19.09.2022: приложение требуется GUI (либо подключить selenium headless), т.к. раз в 14 дней истекают куки пользователя и необходима его авторизация в браузере с поддержкой javascript.

Если вы желаете получить только список вакансий и ключевые навыки - проще всего запустить файлы с расширением exe под Windows из папки for windows.

Возможности приложения

  1. Сбор вакансии в файл excel.

    Фото
  2. Сбор ключевых навыков в файл txt.

    Фото
  3. Отклик на вакансии.

Требования для разработчиков:

  • Python 3.8.
  • git.
  • созданное приложение на dev.hh.ru.
  • файл .env с секретными ключами.

Запуск под Windows:

  • Скачайте и запустите .exe файлы.
    Собрать вакансии - скачать
    Собрать ключевые навыки - скачать
    Отклик на вакансии - не реализовано под Windows.

Установка приложения в Unix:

  1. Скачайте проект:
git clone https://github.com/NankuF/search_vacancies.git
  1. Перейдите в директорию:
cd search_vacancies
  1. Создайте виртуальное окружение:
python -m venv venv
  1. Активируйте окружение:
. ./venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте приложение на dev.hh.ru.
  2. Добавьте файл .env и заполните его следующими данными
    TELETHON_API_ID - id вашего приложения в телеграм.
    TELETHON_API_HASH - hash вашего приложения в телеграм.
    PRIVATE_CHANNEL_ID - id вашего приватного телеграм-канала.
    HH_RESUME_NAME - название вашего резюме.
    HH_VACANCIES_AMOUNT=2 - отклик на 2 вакансии за один раз.
    HH_INTERVAL=3600 - интервал между откликами на вакансии (2 отклика - интервал - 2 отклика - интервал...).
    HH_CLIENT_ID - взять Client ID с dev.hh.ru.
    HH_CLIENT_SECRET - взять Client Secret с dev.hh.ru.
    HH_APP_ACCESS_TOKEN - взять Токен приложения с dev.hh.ru.
TELETHON_API_ID=your id
TELETHON_API_HASH=your hash
PRIVATE_CHANNEL_ID=-1001234567890  (your channel id)
HH_RESUME_NAME=Junior+ Python developer
HH_VACANCIES_AMOUNT=2
HH_INTERVAL=3600
HH_CLIENT_ID=client_id_in_your_app
HH_CLIENT_SECRET=client_secret_in_your_app
HH_APP_ACCESS_TOKEN=will be added automatically after authorization

Создайте файл .user. В него добавятся автоматические следующие данные HH_USER_ACCESS_TOKEN - данные сохранятся в .env автоматически.
HH_USER_REFRESH_TOKEN - данные сохранятся в .env автоматически.

HH_USER_ACCESS_TOKEN=will be added automatically after authorization
HH_USER_REFRESH_TOKEN=will be added automatically after authorization

Запуск

Сбор вакансий и ключевых навыков

--vacancy - Название вакансии.
--location- Можно ввести город, регион или страну.
--need_salary - Укажите этот ключ, если хотите увидеть вакансии с указанной зарплатой.
--period - За какой период искать работу. Указать количество дней. Максимум 30.
--schedule - График работы: remote | fullDay | shift | flexible ( удаленная работа; полный день; сменный график; гибкий график). Этот ключ можно не указывать.
Вакансии сохраняются в папке vacancies
Ключевые навыки сохраняются в папке skills

python main.py --vacancy "Программист Python" --location "Санкт-Петербург" --need_salary --period 30 --schedule "remote"

python main.py --vacancy "Уборщица" --location "Краснодарский край" --period 7

python main.py --vacancy "Прораб" --location "Россия" --period 1

Отклик на вакансии

python apply_vacancies.py

Подключение телеграм

UPD 20.09.2022 - добавлена возможность отправлять отклик в ваш приватный телеграм канал.
Зарегистрируйте ваше приложение в телеграм.
Добавьте App api_id и App api_hash в .env как TELETHON_API_ID и TELETHON_API_HASH
Создайте свой приватный канал в телеграм, и скопируйте его id из url, добавив к нему -100.
Например https://web.telegram.org/z/#777000 = -100777000. Это значение сохраните в .env в переменной PRIVATE_CHANNEL_ID.
При первом запуске приложения потребуется создать сессию, введя номер телефона и код. Не забудьте передать эту сессию в контейнер, положив ее в директорию logs на вашем хосте.

Запуск в контейнере

  1. Создать образ
docker build . -t apply_vacancies
  1. Запустить контейнер
docker run -d --restart unless-stopped\
 --name apply_vacancies\
 -v $(pwd)/logs:/app/logs\
 -e TZ=$(cat /etc/timezone)\
 --env-file .env\
 --env-file .user\
 apply_vacancies

About

Отклики на вакансии, сбор вакансий и ключевых навыков по API Headhunter.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published