Невозможно скрыть автоматизацию селена при использовании яркой ротации прокси данных.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно скрыть автоматизацию селена при использовании яркой ротации прокси данных.

Сообщение Anonymous »

У меня есть сценарий автоматизации Selenium, который очищает определенный веб-сайт с заданной частотой, чтобы получать с него обновленные данные. Я запускаю его на экземпляре AWS. Проблема в том, что по прошествии X времени веб-сайт блокирует IP-адрес и перестает отвечать. При использовании ручного управления я могу легко преодолеть эту проблему, подключив VPN.
Я могу скрыть автоматизацию с веб-сайта, обычно используя options() и специальную функцию JS

Код: Выделить всё

# Configure ChromeDriver options
options = Options()
options.add_argument("--headless=new")  # Enable headless mode
options.add_argument("--disable-gpu")  # Disable GPU for headless mode
options.add_argument("--window-size=1920,1080")  # Set viewport size
options.add_argument("--no-sandbox")  # Bypass OS-level sandbox
options.add_argument("--disable-dev-shm-usage")  # Prevent shared memory issues
options.add_argument("--disable-blink-features=AutomationControlled")  # Prevent bot detection
options.add_argument("--disable-infobars")  # Disable "Chrome is being controlled by automation" message
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

global driver

def initialize():

# Initialize WebDriver
driver = webdriver.Chrome(options=options)

# Prevent detection of WebDriver
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
'source': '''
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
'''
})

# Set up Selenium WebDriver
driver.get("https://WWW.MYWEBSITE.COM")

return driver
но когда я использую прокси Bright Data для решения этой проблемы, выдается следующая ошибка:

Код: Выделить всё

selenium.common.exceptions.WebDriverException: Message: unknown error: unhandled inspector error: {"code":"brob","message":"Requested URL (https://*****redacted******) is restricted in accordance with robots.txt. Ask your account manager to get full access for targeting this site (brob)"}
(Session info: chrome=131.0.6778.109)
Это код с использованием яркого цвета:

Код: Выделить всё

PROXY = "https://uname:pass@myhost:myport"
sbr_connection = ChromeRemoteConnection(PROXY, 'goog', 'chrome')

# Configure ChromeDriver options
options = Options()
options.add_argument("--headless=new")  # Enable headless mode
options.add_argument("--disable-gpu")  # Disable GPU for headless mode
options.add_argument("--window-size=1920,1080")  # Set viewport size
options.add_argument("--no-sandbox")  # Bypass OS-level sandbox
options.add_argument("--disable-dev-shm-usage")  # Prevent shared memory issues
options.add_argument("--disable-blink-features=AutomationControlled")  # Prevent bot detection
options.add_argument("--disable-infobars")  # Disable "Chrome is being controlled by automation" message
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.198 Safari/537.36")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

global driver
def initialize():

# Initialize WebDriver
driver = Remote(sbr_connection, options=Options())

# Set up Selenium WebDriver
driver.get("https://www.g4k.go.kr/en/main.do")

# Prevent detection of WebDriver
# driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
#     'source': '''
#     Object.defineProperty(navigator, 'webdriver', {
#         get: () => undefined
#     });
#     '''
# })

return driver
Я пробовал использовать веб-драйвер вместо удаленного и передавать прокси через options.add_argument(f"--proxy-server={PROXY}"), но это не помогло кажется, работает с Bright и возвращает веб-страницу с ERR_NO_SUPPORTED_PROXIES
Я также не могу использовать свой собственный метод JS с удаленным управлением вместо драйвера, говорит он Execute_cdp_cmd недоступен. и использование метода выполнения не работает, и возникают ошибки, сообщающие, что страница недоступна, поскольку мы делаем это до загрузки страницы.

Подробнее здесь: https://stackoverflow.com/questions/793 ... y-rotation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»