ПОЧЕМУ SELENIUM + PROXY POLAND
Selenium — самый распространённый фреймворк автоматизации браузера. Маршрутизируя Selenium через выделенные мобильные прокси 4G от Proxy Poland, вы можете скрейпить данные, запускать тесты и автоматизировать задачи с настоящими мобильными IP, которые обходят антибот-обнаружение.
ИНСТРУКЦИЯ ПО НАСТРОЙКЕ
Установите зависимости
Установите Selenium и webdriver для вашего браузера:
pip install selenium webdriver-manager # or for Node.js: npm install selenium-webdriver
Получите данные прокси
Зарегистрируйтесь на proxypoland.com и получите IP прокси, порт, логин и пароль.
Настройте Chrome с прокси (Python)
Настройте Chrome WebDriver с SOCKS5 прокси:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
PROXY = "socks5://username:password@proxy-ip:port"
options = Options()
options.add_argument(f'--proxy-server={PROXY}')
driver = webdriver.Chrome(options=options)
driver.get('https://whatismyipaddress.com')
print(driver.title)
driver.quit()Настройте HTTP прокси (Python)
Альтернативная конфигурация HTTP прокси:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
PROXY = "http://username:password@proxy-ip:port"
options = Options()
options.add_argument(f'--proxy-server={PROXY}')
driver = webdriver.Chrome(options=options)
driver.get('https://httpbin.org/ip')
print(driver.page_source)
driver.quit()Настройте с Node.js
Selenium WebDriver с прокси в Node.js:
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const options = new chrome.Options();
options.addArguments(
'--proxy-server=socks5://username:password@proxy-ip:port'
);
const driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
await driver.get('https://httpbin.org/ip');
console.log(await driver.getTitle());
await driver.quit();Добавьте ротацию IP
Ротация IP между сессиями скрейпинга:
import requests
def rotate_ip():
"""Call Proxy Poland's rotation API"""
response = requests.get(
'https://your-proxy-ip:port/rotate',
auth=('username', 'password')
)
return response.json()
# Rotate before each session
rotate_ip()
driver = webdriver.Chrome(options=options)
# ... scrape with new IPПроверьте ваш IP
Убедитесь, что Selenium использует IP прокси:
driver.get('https://httpbin.org/ip')
ip_text = driver.find_element('tag name', 'pre').text
print(f'Current IP: {ip_text}')
# Should show a Polish mobile IPПРОФЕССИОНАЛЬНЫЕ СОВЕТЫ
Используйте SOCKS5 для полной маршрутизации трафика, включая DNS-запросы
Добавьте флаг --headless для продакшн-скрейпинга
Реализуйте экспоненциальную задержку для сайтов с ограничением скорости
Ротируйте IP между загрузками страниц для масштабного скрейпинга
Используйте undetected-chromedriver для сайтов с продвинутым обнаружением ботов
ОТЛИЧНО ПОДХОДИТ ДЛЯ
FAQ
Какой протокол прокси лучше для Selenium?+
SOCKS5 для максимальной совместимости и предотвращения утечек DNS. HTTP работает для базового скрейпинга, но SOCKS5 маршрутизирует весь трафик, включая DNS, через прокси.
Можно ли использовать Selenium с undetected-chromedriver и этими прокси?+
Да. undetected-chromedriver + мобильные прокси Proxy Poland — лучшая комбинация для скрейпинга защищённых сайтов. Мобильный IP обходит обнаружение по IP, а undetected-chromedriver обрабатывает проверки отпечатков браузера.
Как обработать аутентификацию прокси в Selenium?+
Для Chrome включите данные в URL прокси: socks5://user:pass@host:port. Для Firefox используйте расширение аутентификации прокси или selenium-wire, который обрабатывает аутентификацию прозрачно.
Можно ли запускать headless Selenium с этими прокси?+
Да. Добавьте --headless=new в опции Chrome. Прокси работает идентично в headless-режиме. Для сайтов, обнаруживающих headless-браузеры, используйте undetected-chromedriver.
Как быстро можно скрейпить с мобильными прокси по сравнению с дата-центром?+
30-100 Мб/с пропускной способности на наших 4G соединениях. Хотя это медленнее чистой скорости дата-центра, преимущество в том, что вас не блокируют. Один успешный запрос через мобильный прокси ценнее 100 заблокированных запросов через IP дата-центра.