Python-парсер: агрегатор вакансий (hh + сайты компаний)

Вакансии с hh и career-страниц 30 компаний в одну базу: дедуп, фильтры, дайджест в Telegram.

Стек BeautifulSoup, PostgreSQL, Python, парсер

Клиент — HR-агентство (IT-рекрутинг). Мониторинг вакансий шёл вручную: hh.ru + career-страницы 30 компаний — 3–4 часа в день, дубли и пропуски новых позиций.

Задача: Python-парсер — сбор с hh API/страниц и corporate sites → нормализация → дедупликация по (company, title, city) → PostgreSQL → фильтры → export CSV / REST API для рекрутёров.

  • hh: API где доступно + fallback parser; career pages: configurable selectors YAML;
  • поля: title, company, salary, skills, url, published_at;
  • dedup fuzzy hash; mark new vs updated;
  • filters: stack Python/React, city, salary min;
  • daily cron; Telegram digest «12 new jobs»;
  • rate limits, respect robots.txt on corporate sites;
  • simple web UI or CLI query.

Стек: Python, requests, BeautifulSoup, PostgreSQL, SQLAlchemy, FastAPI (optional), aiogram. Приёмка: 30 companies, recall new jobs > 90% vs manual.

Итог: мониторинг 30 мин/день вместо 3–4 часов. NDA: агентство не публикуется.