Автоматизация рутины на hh.ru: как мы учили Headless Chrome притворяться живым человеком (RPA против антифрода)
- Для крупных job-board платформ в 2026 году описаны WAF, анализ TLS-отпечатков, поведенческая биометрия и «теневые баны», из-за которых HTTP-скрипты живут недолго.
- Защита сравнивает TLS Fingerprint (JA3/JA3S): порядок шифров у клиентов Python (requests, aiohttp, httpx) отличается от Chrome/Safari, что приводит к 403, капче или блокировке.
- Для headless-режима перечислены JS-признаки бота: navigator.webdriver, WebGL-вендоры вроде
Google SwiftShader/VMware, отсутствие navigator.plugins и «дефолтное» окно 800x600. - Предложенное решение включает кастомные сборки Chromium с вырезанными флагами автоматизации и жёсткую привязку профиля: каждому воркеру — свой fingerprint.
- Для снижения банов описана Human Mimicry: движение курсора по кубическим кривым Безье с шумом, скролл, паузы Random Sleep 3–12 секунд, иногда выделение текста перед кликом.
- Архитектура: Core на Python/FastAPI с PostgreSQL, Orchestrator с Redis-очередью и лимитом до 20 откликов в сутки на аккаунт, Browser Nodes в Docker с Playwright (до 1 ГБ RAM на браузер), LLM (self-hosted Llama или
OpenAI API) для разбора DOM в JSON и генерации сопроводительного письма.
Почему это важно: Материал иллюстрирует гонку «Red Team vs Blue Team»: на каждое улучшение скрипта платформа отвечает новыми сигналами детекта. Связка TLS-отпечатков и поведенческой биометрии показывает, что защита не сводится к одному «флажку». На практике это часто означает рост порога входа и переход от «скрипта на вечер» к поддерживаемой системе.
На что обратить внимание: В описанной схеме устойчивость держится на нескольких допущениях: уникальный цифровой слепок воркера, резидентские прокси и кастомная сборка Chromium. Отдельно отмечается лимит по числу откликов в сутки на аккаунт как способ не создавать поведенческие аномалии на бэкенде платформы. Роль LLM здесь двойная: она заменяет хрупкие селекторы при разборе DOM и формирует тексты отклика, но добавляет ещё один слой, который нужно поддерживать при изменениях интерфейса.
Читайте также
Способы сегментации партнёрской сети для развития канальных продаж в IT
Перформанс-маркетинг для начинающих
Четыре проекта на Kwork, которые автор отклонил, и почему
Заглянуть под капот ИИ-агентов: новый инструмент раскрывает «магию» Claude Code
Почему бинарные решения по аудитории не подходят для агентной эры
- Почему User-Agent больше не спасает HTTP-автоматизацию: На защищённых платформах имитация браузера через подстановку User-Agent перестаёт работать, потому что защита смотрит глубже заголовков. Отдельный класс сигналов — сетевые и TLS-характеристики клиента, по которым Python-библиотеки заметно отличаются от реальных браузеров.
[Антифрод и безопасность]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Статья на примере hh.ru объясняет, почему в 2026 году простые скрипты для отклика на вакансии быстро упираются в защиту, и описывает архитектуру обхода таких барьеров. Главная идея — RPA с «живым» браузером, имитацией поведения и LLM.