Senior Distributed Parser Engineer
Прямой работодатель ALTWeb Group ( altwebgroup.com )
Опыт работы более 5 лет
О проекте
Мы создаём высокопроизводительную облачную платформу для параллельного запуска сотен и тысяч браузеров (Chromium/Chrome/Firefox) в контейнерах или micro-VM, с управлением через:
Chrome DevTools Protocol (CDP)
WebSocket
Selenium WebDriver API
Puppeteer / Playwright
CEFSharp (встроенные браузеры под .NET)
Платформа используется для крупномасштабного распределённого парсинга, обхода антибот-защит, автоматизации веб-интерфейсов и написания сложных пользовательских сценариев.
Мы ищем специалиста, способного построить многопоточную распределённую систему сбора данных, использующую удалённые браузеры и гибридные протоколы управления.
Задачи
Разработка многопоточного распределённого парсера
- управление десятками/сотнями браузерных сессий одновременно
- работа напрямую через Chrome DevTools Protocol (CDP)
- выполнение JS в контексте страницы
- сбор HTML, JSON, network responses
- параллельные очереди задач, дедупликация URL, retry-логика
- планирование обхода сайтов (BFS/DFS, сегментация)
Работа с фреймворками автоматизации
Puppeteer:
- режим connect() к удалённому браузеру
- разработка сложных сценариев, хук сетевых запросов
Playwright:
- connectOverCDP к удалённым сессиям
- интеграция page events, route interception
Selenium:
- разработка bridge-слоя к удалённым браузерам
- интеграция WebDriver API поверх CDP
CEFSharp:
- работа с встроенным Chromium Embedded Framework
- интеграция парсера с C#-окружением (если требуется)
- расширенные браузер-эвенты, скрытие автоматизации
- анализ поведения встроенного CEF под нагрузкой
Anti-bot & Stealth
- обход challenge-страниц
- симуляция пользовательского поведения (scroll, input, delays)
- анализ WebGL/Canvas/DOM изменений
- получение данных из JS-фреймворков (SPA, React, Angular)
- работа с Residential/Mobile прокси
Надёжная распределённая архитектура
- управление большими пулами WebSocket-соединений
- fault-tolerance: перезапуски, ретраи, восстановление сессий
- оптимизация сетевых запросов
- снижение латентности при работе через прокси
- интеграция с облачной системой создания/завершения браузеров
Обязательные требования
1 Chrome DevTools Protocol (обязательно)
- глубокое знание Network.*
- DOM.*
- Runtime.*
- Page.*
- работа напрямую через WebSocket
- опыт работы с CDP без Puppeteer — критически важно
2 Puppeteer
- опыт сложных сценариев
- intercept запросов
- работа через browserWSEndpoint
- bypass некоторых антибот-проверок
3 Playwright
- опыт работы с Playwright API
- умение подключаться к удалённому браузеру (connectOverCDP)
- знание route/network-hooks
4 Selenium / WebDriver
- глубокое понимание Selenium API
- опыт интеграции Selenium с нестандартными средами
- понимание ограничений протокола W3C WebDriver
5 CEFSharp / Chromium Embedded Framework
- опыт внедрения и настройки CEFSharp
- управление страницей и ресурсами через CEF API
- понимание DevTools-интеграции с CEF
- опыт работы с встраиваемым браузером под .NET
- плюсом — опыт кастомизации рендера/JS binding
6 Языки программирования (один из):
- Go (предпочтительно)
- Node.js
- Python
- Rust
- C# (для CEFSharp-модулей)
7 Многопоточность и high-load
- работа с очередями задач
- синхронизация потоков (mutex, channel, async-await)
- умение писать код, который выдерживает 100–1000 параллельных задач
8 Сетевые протоколы
- HTTP/1.1, HTTP/2, TLS
- WebSocket
- Cookie/Session management
- Proxy: SOCKS5, HTTP, user/pass auth
9 Опыт создания сложных парсеров
- обход антиботов
- обход динамического контента
- стабильная обработка ошибок сети
Плюсом будет
- опыт интеграции Playwright/Selenium/Puppeteer в распределённых системах
- опыт разработки собственных CDP-клиентов
- знание GraphQL, gRPC
- работа с Redis/Kafka/NATS
- знание Linux namespaces, контейнеров
- оптимизация DOM, JS-инъекций
- прикладной опыт с антидетект браузерами (без фанатизма)
Условия работы:
- Полная занятость 5/2, удалённая работа с гибким графиком.
- Интересные проекты и задачи, а также возможность профессионального развития;
- Полностью удалённая работа - мы не привязаны к месту, собираем самых сильных сотрудников вне зависимости от их местоположения;
- Щедрый обмен знаниями и опытом;
- Адекватное руководство, не бюрократический подход в обсуждении рабочих процессов;
- Уровень заработной платы финально определяем с успешным кандидатом.
- Возможно оформление договора услуг, подряда, ГПХ.
