Бот для автоматического отклика на вакансии на hh.ru с поддержкой множества аккаунтов и резюме для обхода лимита в 200 откликов на аккаунт.
Особенности:
- Поддержка нескольких аккаунтов с несколькими резюме у каждого
- Разные поисковые запросы для разных резюме
- Автоматическая ротация между аккаунтами
- Работает без эмуляции браузера - использует только HTTP-запросы через aiohttp
- Автоматическое сохранение и восстановление cookies
- Обработка ошибок авторизации с запросом новых cookies
- Выбор диапазонов опыта работы (можно выбрать несколько)
- Сохранение пользовательских настроек и возможность их быстрого применения
По умолчанию ищет вакансии с опытом 1-3 года. Не нравится - правьте код под себя.
pip install aiohttp asyncio json requestsЛибо установите их любым удобным способом.
Создайте файл accounts.json в корне проекта:
[
{
"email": "account1@example.com",
"resumes": [
{
"hash": "resume_hash_1",
"search_criteria": {
"query": "Python разработчик",
"exclude_words": ["стажер", "практикант", "junior", "интерн"]
}
},
{
"hash": "resume_hash_2",
"search_criteria": {
"query": "Backend developer",
"exclude_words": ["стартап", "без опыта", "trainee"]
}
}
]
},
{
"email": "account2@example.com",
"resumes": [
{
"hash": "resume_hash_3",
"search_criteria": {
"query": "Fullstack разработчик",
"exclude_words": ["фриланс", "удаленка", "remote"]
}
}
]
}
]Структура:
email- почта аккаунта (используется для идентификации и сохранения cookies)resumes- массив резюме для данного аккаунтаhash- хеш резюме с hh.rusearch_criteria- критерии поиска для данного резюмеquery- поисковый запрос (что искать на сайте)exclude_words- массив слов/фраз для исключения вакансий (необязательное поле)
- Открываем F12 в браузере
- Переходим на вкладку "Сеть/Network"
- Откликаемся на любую вакансию
- Ищем POST-запрос на
https://hh.ru/applicant/vacancy_response/popup - В параметрах запроса находим
resume_hash- это и есть наш hash
- В том же POST-запросе смотрим заголовки
- Копируем все cookies из заголовка Cookie
- При первом запуске программа попросит ввести cookies для каждого аккаунта
- Cookies автоматически сохранятся в папку
cookies/и будут переиспользоваться
Важно: Копируйте cookies целиком, например:
_xsrf=abc123; hhtoken=xyz789; other_cookie=value; ...
python main.pyПри первом запуске программа попросит ввести cookies для каждого аккаунта. В дальнейшем они будут загружаться автоматически.
Программа предложит выбрать диапазон опыта работы для поиска вакансий:
- Нет опыта
- От 1 до 3 лет
- От 3 до 6 лет
- Более 6 лет
Вы можете выбрать несколько вариантов, указав их номера через пробел (например: "1 2").
Программа предложит выбрать порядок обработки поисковых запросов для оптимального использования лимита откликов.
После выбора настроек программа предложит сохранить их для будущего использования.
При последующих запусках программа предложит использовать ранее сохраненные настройки. Вы можете:
- Применить все сохраненные настройки сразу
- Настроить параметры заново
├── main.py # Основной файл программы
└── accounts.json # Конфигурация аккаунтов и резюме
Остальные файлы (cookies, preferences.json) будут созданы автоматически при работе программы.