Этот скрипт собирает вакансии с сайта HH.ru по ключевым запросам (например, "DataScience", "ML Engineer"), извлекает из них технические навыки, и строит столбчатую диаграмму самых популярных навыков.
- Использует API HH.ru для получения вакансий.
- Фильтрация по whitelist навыков.
- Поддержка сохранения прогресса — если скрипт прервётся, при перезапуске он продолжит с места остановки.
- Построение графика с помощью
matplotlibиseaborn. - Сохранение графика в формате PNG и CSV-файл с полным списком навыков для анализа.
-
Клонируйте репозиторий:
git clone --depth=1 https://github.com/valeksan/hh-skills-parser.git cd hh-skills-parser -
Создайте виртуальное окружение и активируйте его:
python -m venv .venv source .venv/bin/activate # Linux/Mac # или .venv\Scripts\activate # Windows
-
Установите зависимости:
pip install -r requirements.txt
- Настройка. Измените файлы:
queries.txt— список ключевых запросов для поиска вакансий.skills_whitelist.txt— список навыков для анализа. (не обязательно)
- Запуск
# Стандарный способ python parse_skills.py # На UNIX ./parse_skills.py # Для получения справки ./parse_skills.py --help
- Результат будет сохранён в файл
hh_skills_bar_chart.png.
Приниает одно из значений warning,error,critical,info,debug.
По умолчинию LOGLEVEL=warning
Пример использования:
LOGLEVEL=info ./parse_skills.pyСписок поисковых запросов (по одному на строку). Строки, начинающиеся с #, игнорируются. Пример:
# Вакансии Data Science
Data Scientist
Machine Learning
ML EngineerСписок навыков для анализа (по одному на строку). Строки, начинающиеся с #, игнорируются. Пример:
python
sql
pandas
...Поиск проводиться по строгому совпадению запроса из queries.txt в названии вакансии.
Сделано это не очень: HH на запрос "разработчик" плюется время от времени вакансиями типа "дизайнер".
Поэтому встроен фильтр: разбивает строку на слова, и нужно, чтобы в названии вакансии совпало
хотя бы одно слово с запросом.
queries.txt
"Front-end developer"
#Преобразуется в
"Front", "end", "developer"
При --mode key-skills происходит поиск по навыкам указанным в вакансии hh.ru. Объясняя
другими словами это навыки, которые можно подтвердить в резюме.
При --mode desctiption поиск будет выполнен в описании вакансии. Возможны ложные срабатывания,
т.к. анализируется текст без ИИ анализа. Могут встречатся ошибки по типу: c это ЯП, но проблема в
том, что теоретически возможны ошибки кодировки и спутать с кириллической с.
- График:
hh_skills_bar_chart.png - Полный список навыков:
top_skills_all_data.csv - Прогресс:
progress.json
График показывает самые популярные навыки, извлечённые из вакансий
This project is licensed under the MIT License - see the LICENSE file for details.
Этот проект получил вклад от следующих соавторов:
- tonakihan — исправления и улучшения кода
Если вы внесли вклад в проект, не стесняйтесь добавить себя в этот список через pull request.
