HeadHunter Exporter - это Python-приложение для сбора данных о вакансиях с сайта HeadHunter.ru через их API. Приложение позволяет собирать информацию о вакансиях, обрабатывать ее и сохранять в различных форматах, включая Google Sheets, PostgreSQL и SQLite.
- Аутентификация через API HeadHunter
- Сбор данных о вакансиях с учетом различных параметров (профессиональные роли, опыт работы, регионы)
- Обработка и очистка полученных данных
- Сохранение данных в Google Sheets
- Сохранение данных в PostgreSQL
- Сохранение данных в SQLite
- Python 3.7+
- pip (менеджер пакетов Python)
-
Клонируйте репозиторий:
git clone https://github.com/your-username/headhunter-exporter.git cd headhunter-exporter -
Создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # Для Linux/Mac venv\Scripts\activate # Для Windows -
Установите зависимости:
pip install -r requirements.txt -
Создайте файл
.envв корневой директории проекта и добавьте необходимые переменные окружения:CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret ACCESS_TOKEN=your_access_token REDIRECT_URI=your_redirect_uri DB_USERNAME=your_db_username DB_PASSWORD=your_db_password DB_HOST=your_db_host DB_PORT=your_db_port DB_DATABASE=your_db_name DB_SCHEMA=your_db_schema DB_TABLE=your_db_table GOOGLE_SHEET_PAGE_NAME=your_sheet_name
-
Настройте параметры сбора данных в файле
config.py. -
Запустите основной скрипт:
python main.py -
Данные будут собраны и сохранены в соответствии с настройками в
config.py.
main.py: Основной скрипт для запуска сбора данныхmodules/headhunter.py: Модуль для работы с API HeadHuntermodules/google_sheets.py: Модуль для работы с Google Sheetsmodules/(sqlite/postgresql).py: Модули для работы с базами данных (PostgreSQL и SQLite)config.py: Файл для загрузки конфигурацииconfig.yml: Файл конфигурацииrequirements.txt: Список зависимостей проекта
Перед использованием убедитесь, что вы настроили следующее:
- Получили необходимые учетные данные для API HeadHunter и добавили их в
.envфайл - Настроили доступ к Google Sheets API и добавили путь к файлу учетных данных в
config.yml - Настроили параметры подключения к базам данных в
config.yml - Выбрали целевой источник для сохранения данных в
config.yml(sheets/postgres/sqlite)
Основные настройки проекта находятся в файле config.yml. В config.py эти настройки загружаются и преобразуются в переменные Python. Основные переменные конфигурации:
HH_AUTH_CODE: Код авторизации HeadHunter (получается вручную)HH_CLIENT_ID,HH_CLIENT_SECRET,HH_REDIRECT_URI: Данные для аутентификации в API HeadHunterHH_AREAS_URL,HH_VACANCIES_URL: URL для API запросовHH_EXPERIENCE_IDS: Список ID опыта работы для фильтрации вакансийHH_CATEGORY_ID: КатегорияHH_ROLES: Список ID ролей, которые нужно искатьDB_SQLITE_PATH: Путь к файлу SQLite базы данныхDB_USERNAME,DB_PASSWORD,DB_HOST,DB_PORT,DB_DATABASE,DB_SCHEMA,DB_TABLE: Настройки для PostgreSQLGOOGLE_SHEETS_CONFIG_FILE,GOOGLE_SHEET_URL,GOOGLE_SHEET_PAGE_NAME: Настройки для Google SheetsTARGET_SOURCE: Целевой источник для сохранения данных (sheets/postgres/sqlite)
Вы можете изменить эти параметры в config.yml для настройки работы приложения.
Если вы хотите внести свой вклад в проект, пожалуйста, создайте issue или отправьте pull request.