Урок 24. Использование прокси и изменение user-agent в Selenium
Иногда при работе с веб-сайтами требуется скрыть реальный IP-адрес или изменить поведение браузера, например, для обхода ограничений, тестирования или защиты от блокировок. Для этого в Selenium можно использовать прокси-серверы и менять user-agent.
Что такое прокси и user-agent
Прокси-сервер — это промежуточный сервер, через который проходит ваш трафик. Он позволяет скрыть реальный IP и управлять географией соединения.
User-agent — это строка, которую браузер отправляет серверу, описывая себя. Изменение user-agent помогает эмулировать разные устройства и браузеры.
Настройка прокси в Selenium
Для работы с прокси в Chrome через Selenium нужно передать настройки через ChromeOptions.
Бесплатные прокси можно найти на сайтах вроде free-proxy-list.net или us-proxy.org.
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
proxy = "223.135.156.183:8080" # Замените на ваш рабочий прокси
# === Часть 1. Вывод реального IP ===
driver = webdriver.Chrome()
driver.get("https://httpbin.org/ip")
real_ip = driver.find_element(By.TAG_NAME, "body").text
print("Реальный IP:", real_ip)
time.sleep(5) # Пауза 5 секунд
driver.quit()
# === Часть 2. Вывод IP через прокси ===
options = webdriver.ChromeOptions()
options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(options=options)
driver.get("https://httpbin.org/ip")
proxy_ip = driver.find_element(By.TAG_NAME, "body").text
print("IP через прокси:", proxy_ip)
driver.quit()
Результат
Изменение user-agent
Изменение user-agent позволяет вашему скрипту маскироваться под другой браузер или устройство.
from selenium import webdriver
import time
user_agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) \
AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
options = webdriver.ChromeOptions()
options.add_argument(f"user-agent={user_agent}")
driver = webdriver.Chrome(options=options)
driver.get("https://www.whatismybrowser.com/detect/what-is-my-user-agent")
print(driver.title)
time.sleep(7)
driver.quit()
Результат
Комбинирование прокси и user-agent
Вы можете одновременно использовать прокси и менять user-agent, передав оба аргумента в ChromeOptions.
options = webdriver.ChromeOptions()
options.add_argument(f'--proxy-server={proxy}')
options.add_argument(f"user-agent={user_agent}")
driver = webdriver.Chrome(options=options)
driver.get("https://httpbin.org/ip")
driver.quit()
Советы
- Прокси желательно выбирать с высокой скоростью и стабильностью.
- Смена user-agent помогает тестировать сайты под разными устройствами.
- Бесплатные прокси часто быстро перестают работать — проверяйте актуальность.
- Эти методы полезны при массовом сборе данных с сайтов и обходе ограничений.
В этом уроке вы узнали, как использовать реальные прокси и менять user-agent в Selenium для безопасной и гибкой автоматизации браузера.
Больше уроков по парсингу на parsertools.ru/lessons.
