msedge в видимом режиме с headless=False.На Хабре вышла статья Phonetastic. Задача звучала буднично: найти на популярном сайте объявлений флагманскую мобильную рабочую станцию с редкой профессиональной видеокартой. С ходу не получилось.
Прямые запросы упирались в HTTP 403 и HTTP 429. WAF отсекал модель ещё на сетевом уровне. Обход через поисковики с оператором site: тоже провалился. Один выдал «Вы не робот», второй завис по таймауту из-за allow-list внутри Strata, третий отдал пустую JavaScript-заглушку редиректа.
Тогда автор сменил архитектуру и собрал «визуально-текстового DOM-агента». Первый кит — модель перехватывает уже установленный в системе Edge. Playwright стартует с channel="msedge", headless=False, флагами --start-maximized и --focus, плюс вызов page.bring_to_front(). Окно вылезает поверх всех, дальше пауза 8 секунд, чтобы страница прогрузилась. Для защиты это выглядит как обычный запуск браузера человеком.
Второй кит — агент принципиально игнорирует CSS. Классы вроде .styles-module-root-XyZ12 генерируются на сервере и меняются с каждым обновлением фронтенда. Модель сканирует DOM за один проход и цепляется за смысловые маркеры: нашла текстовый узел со знаком валюты — это точка фиксации. От него поднимается к родительскому контейнеру и забирает данные. Никаких прокси, только Python и Playwright.
Новость не про «ИИ взломал сайт». Она про смену подхода: вместо драки с сетью на уровне пакетов — имитация человека на уровне пикселей и логики. Наша оценка: это самый скучный и оттого самый работающий вывод. Антифрод годами учили ловить navigator.webdriver = true и нечеловеческие тайминги. Здесь ловить нечего — браузер настоящий, окно настоящее, пауза тоже.
Что это меняет. Для рынка скрейпинга — сигнал, что «запретить headless» больше не универсальный ответ. Для владельцев площадок — повод смотреть не на флаги браузера, а на поведение: сколько объявлений открыто за сессию и какие запросы уходят. Для кошелька — локальная 7B/8B вместо платных API и прокси-пулов выглядит дешевле. Только вот ни цифр по скорости, ни стоимости прогона автор не приводит.
Кто выигрывает. Разработчики, которым нужен узкий поиск по одному сайту: у них теперь есть воспроизводимый рецепт. Кто проигрывает — по нашей оценке, сервисы антибота, которые строят детект только на отпечатке браузера. Гонка тут симметричная: как только пауза в 8 секунд и bring_to_front() станут массовыми, их начнут ловить по поведению.
Главное слабое место — источник один. Это личный рассказ автора, независимых проверок нет. В тексте не названа площадка, нет времени одного прохода, числа обработанных объявлений и статистики запросов до бана. Не видно, что происходит после того, как агент поднялся к родительскому контейнеру: фрагмент обрывается на полуслове. Отдельный вопрос — сработает ли схема через месяц, после обновления фронтенда. Проверять придётся самому.
Прогноз: в течение квартала на GitHub появится два-три опенсорсных агента с той же логикой, а крупные площадки начнут активнее считать поведенческие метрики вместо проверки флагов браузера.
Дисклеймер: один источник — личный опыт автора на Habr, официально ничего не подтверждено.
Источник: Habr
Источник: habr.com · пост в Telegram