Задать вопрос
@ant123455432143

Можно ли получить доступ к сайту?

Столкнулся с проблемой блокировки при попытке запустить парсер внутри Docker-контейнера.

Стек: Python 3.11, undetected_chromedriver (последней версии), pyvirtualdisplay (Xvfb).
Запускаю Docker локально на той же машине, где обычный скрипт (без докера) работает идеально. То есть проблема не в IP, а именно в отпечатках контейнера.

Что уже реализовано для маскировки:
AutomationControlled выключен, User-Agent подменял (в т.ч. на полностью идентичный нативному).
Проброшены таймзоны (TZ=Europe/Moscow), сгенерированы локали (ru_RU.UTF-8).
Использую ActionChains для движений мыши, рандомные задержки, скролл.
Через CDP подменял WebGL Vendor/Renderer (чтобы скрыть софтверный SwiftShader), правил deviceMemory и hardwareConcurrency.

403 Forbidden, Guru meditation прилетает мгновенно при первом же driver.get(). Браузер даже не успевает начать рендерить страницу.
Мне необязательно использовать виртуальный экран или вообще полноценный браузер. Главное - чтобы это работало внутри Docker.
  • Вопрос задан
  • 958 просмотров
Подписаться 3 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик буткемп
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
на той же машине

На винде или линуксе? Если на винде и там было все ок, то возможно, стоит смотреть в сторону ttl и tls fingerprinting Jja3/4 (возможно, dns банит все линуксы по дефолту).
403 Forbidden, Guru meditation прилетает мгновенно при первом же driver.get(). Браузер даже не успевает начать рендерить страницу.

Сделайте скрин страницы с "403 Forbidden, Guru meditation", может там анти-бот система вас ловит.
Через CDP подменял WebGL Vendor/Renderer

Через CDP нельзя изменить WebGL параметры в обычном браузере. Вы выполняете js скрипт, который переопределяет стандартное поведение встроенного объекта браузера, что вполне уверенно определяется средней анти-бот системой.

Если бы я пытался определить бота из под докера, я бы в первую очередь смотрел на пакет шрифтов, client hints и глубину цветов дисплея.

Но я думаю, что проблема в какой то мелочи. Попробуйте из под докера зайти на browserscan.net, и спустя 20 сек сделать скрин всей страницы, затем, сравните с тем, какие данный отображаются на том же сайте не из под докера, ищите расхождения.
Ответ написан
Steel_Balls
@Steel_Balls
Да никак. Это война нападающего и защитника.
Очевидно, что защита у Qrator выше, чем у тебя как лайтового нападающего.
Либо смирись с поражением, либо повышай свой уровень
Ответ написан
@rPman
посмотрите, работает ли в браузере в docker DRM (поддержка защищенного воспроизведения в браузере), это хороший маркер не настоящего окружения, оно даже в виртуалке есть... и кстати это вариант, ваше требование docker возможно накладывает слишком тяжелые ограничения
Ответ написан
mimiseksimi
@mimiseksimi
Если блокировка мгновенная, ещё до рендера. Блокировка происходит на уровне TCP/TLS, до того как браузер вообще что-то исполняет. По моему опыту TLS Fingerprint (JA3/JA3S) главный виновник. Попробуй Camoufox, у него хорошая защита от фингерпринтинга и у него по сути Playwright api.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы