Прокси для Selenium Grid используют, чтобы изолировать IP по сессиям, держать страну/город под рынок и масштабировать парсинг/тесты. База: 1 статичный IP = 1 проект/аккаунт/роль. Ротацию применяйте для каталога и поисковых страниц, но не во время авторизаций и оплат.
Что выбрать
- Типы:
- Статичные IPv4 (DC) — основной вариант для Grid-узлов и стабильных сессий.
- Статичные резидентские — точечно для кабинетов и чувствительных действий.
- Статичные мобильные — нишево, когда нужен источник мобильной сети.
- Ротируемые DC/резидентские — для каталога/поиска (ограничивайте скорость и параллельность).
- IPv6 — полезен для объёмных задач; для входов оставляйте IPv4.
- Shared — нежелателен для авторизаций, допустим для анонимного каталога.
- Протокол: браузеры и API — HTTPS-прокси; для проксирования конкретной сессии удобно SOCKS5.
- Страны/города: выбирайте страну целевого сайта. Примеры: Амстердам, Франкфурт, Лондон, Париж; Нью-Йорк/Нью-Джерси, Вирджиния, Чикаго, Торонто; Сингапур, Токио, Сеул, Сидней.
Схемы включения
- Прокси на узле (Node): задать системные HTTP(S)_PROXY/NO_PROXY или стартовый аргумент браузера. Просто поддерживать, одна конфигурация на контейнер.
- Прокси на сессию: передавать настройки в capabilities (каждая сессия — свой IP/протокол). Удобно для A/B и разных стран.
- Разделение пулов: статик — на логин/корзину; ротация — на листинги/поиск. Не смешивайте подсети.
Примеры настройки (Selenium 4)
Python + Chrome (Remote, HTTP-прокси)
from selenium import webdriver from selenium.webdriver.chrome.options import Options
proxy = "http://login:pass@IP:PORT
"
opts = Options()
opts.add_argument(f"--proxy-server={proxy}")
driver = webdriver.Remote(
command_executor="http://grid-hub:4444/wd/hub
",
options=opts
)
Python + Firefox (SOCKS5 на сессию)
from selenium import webdriver from selenium.webdriver.firefox.options import Options
opts = Options()
opts.set_preference("network.proxy.type", 1)
opts.set_preference("network.proxy.socks", "IP")
opts.set_preference("network.proxy.socks_port", PORT)
opts.set_preference("network.proxy.socks_username", "login")
opts.set_preference("network.proxy.socks_password", "pass")
opts.set_preference("network.proxy.socks_remote_dns", True)
driver = webdriver.Remote(
command_executor="http://grid-hub:4444/wd/hub
",
options=opts
)
Node.js + Chrome (аргумент прокси)
const {Builder} = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome');
const proxy = "http://login:pass@IP:PORT
";
const options = new chrome.Options().addArguments(--proxy-server=${proxy});
const driver = await new Builder()
.forBrowser('chrome')
.usingServer('http://grid-hub:4444/wd/hub
')
.setChromeOptions(options)
.build();
Docker (узел с системным прокси)
services: chrome: image: selenium/node-chrome:4 environment: - HTTP_PROXY=http://login:pass@IP:PORT - HTTPS_PROXY=http://login:pass@IP:PORT - NO_PROXY=localhost,127.0.0.1,hub depends_on: [hub]
Где купить прокси для Selenium Grid
1) Proxys.io — DC/резидентские/мобильные, статик и ротация + API
Удобно собрать два пула: статик под логин и ротируемый под каталог. Доступ по паролю или whitelist. HTTPS и SOCKS5 доступны.
- Плюсы: города по странам, стабильные подсети, быстрый выпуск.
- Минусы: резидентские/мобильные дороже DC — берите точечно.
2) ProxyLine — статичные IPv4/IPv6 и недорогие пулы
Хорошо для постоянных Grid-узлов и массовых HTML/JSON-запросов.
3) Proxy-Store — раздельные пулы и статики
Ротация — на каталог; статики — на авторизацию. Есть API/авторотация.
4) Proxy-Solutions — точные города и SLA
Когда нужна привязка к конкретному городу и стабильные задержки.
5) MobileProxy.space — мобильные статики/пулы
Нишевые кейсы с ожиданием мобильного источника. Скорость умеренная.
Практические правила
- Изоляция: 1 статичный IP = 1 проект/аккаунт. Ротацию не используйте в сессиях с авторизацией.
- Лимиты: очереди, паузы, ограничение параллельности на домен; держите разные подсети для каталога и логина.
- Заголовки: корректный User-Agent, Accept-Language по стране, куки храните по сессии.
- DNS: системный или защищённый в той же стране, что и прокси.
- Безопасность: доступ к прокси по паролю/списку IP; логи храните 30–90 дней.
Где ещё можно купить
- PX6 (PROXY6) — бюджетные DC/IPv6 для каталога и тестов.
- Proxymania — резервные пулы по странам.
- ShopProxy — маркетплейс с фильтрами по странам и протоколам.
Итоги
Прокси для Selenium Grid — это статичные IP для авторизаций и ротация для каталога, настройка на уровне узла или сессии, согласованные страна/язык/часовой пояс. Разделяйте пулы, контролируйте параллельность и заголовки — так тесты и сбор данных идут стабильно.
Комментариев нет