При использовании selenium сайт думает, что используется впн, и ограничивает доступ. Как попасть на сайт?

хотел получать некоторые данные с сайта Leroy Merlin, а именно конкретную информацию о товаре по прямой ссылке. Решил делать через Selenium, потому что нужно выполнять JS код. Написал такой код:
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import random

user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 '
    'Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
]

options = webdriver.ChromeOptions()
options.add_argument(f'--user-agent={random.choice(user_agents)}')
link = 'https://leroymerlin.ru/product/el-novogodnyaya-iskusstvennaya-krasivaya-240-sm-14652317/'
driver = webdriver.Chrome(options=options)
driver.get(link)
time.sleep(5)

сайт открывается, но вылезает вот такое окно(впн у меня выключен):
657b7bd307b1a558427162.png
подскажите пожалуйста, что можно сделать в этом случае?
  • Вопрос задан
  • 2478 просмотров
Пригласить эксперта
Ответы на вопрос 3
@systemaworking
Используй undetected chrome (https://github.com/ultrafunkamsterdam/undetected-c...), это позволит не палится при скачивании, а так же разные проксы, чтобы менять IP
Ответ написан
Комментировать
@outcry69
Подмены юзерагента недостаточно для того, чтобы скрыть автоматизацию браузера. Это очень обширная тема, антибот-системы умеют определять её по самым разным признакам: хедер запроса, разрешение экрана, ОС, прокси, куки и многое-многое другое, даже поведение на сайте. Selenium по своему назначению - инструмент для автоматизированного тестирования, изображать человека он даже не пытается.

Могу посоветовать:
1. Погуглить "selenium hide automation", почитать пару статей, чтобы получить базовое представление о том, что в первую очередь выдает бота.

2. Попробовать https://github.com/ultrafunkamsterdam/undetected-c... В нём эти рекомендации учтены (но успех все равно не гарантирован) + экспериментировать с дополнительными факторами для имитации человеческого визита (менять прокси, поведение на сайте, добавить куки и др.)

3. Посмотреть в devtools запросы сайта, может получится достать данные вообще без Селениума.
Ответ написан
Комментировать
Если бы работали с Java, посоветовал вам Playwright
Он защиту Лерой обходит
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы