При работе с Selenium для веб-скреппинга или автоматизации интеграция прокси-серверов является обязательным условием. Прокси позволяют обходить запреты, ограничения скорости и геоограничения, делая ваши задачи беспроблемными и эффективными. Но настройка прокси в Selenium может оказаться непростой задачей, особенно если вы имеете дело с аутентификацией или должны отслеживать HTTP-запросы. Именно здесь на помощь приходит Selenium Wire.
Selenium Wire - это расширенная версия Selenium, которая добавляет в нее дополнительные возможности, позволяя легко аутентифицировать прокси-серверы, перехватывать HTTP-запросы и ответы, а также отлаживать сетевой трафик.
В этом руководстве мы покажем вам, как настроить прокси в Selenium с помощью selenium-wire
и webdriver-manager
. Как правило, необходимо загружать бинарные файлы веб-драйверов из браузеров и поддерживать их регулярное обновление. Сайт webdriver-manager упрощает этот процесс, решая эти задачи за вас.
К концу этого блога у вас будет полностью настроенная установка Selenium, адаптированная для работы с прокси-серверами ProxyScrape , готовая к решению любых задач, которые встанут перед вами. Давайте погрузимся!
Чтобы получить доступ к полному скрипту, не проходя весь учебник, нажмите на эту ссылку, чтобы скопировать полный код.
Прежде чем мы перейдем к настройке прокси в Selenium, убедитесь, что у вас установлены и готовы следующие инструменты и библиотеки:
Выполните следующую команду для установки всех зависимостей:
pip install selenium-wire webdriver-manager
Примечание: Вы можете столкнуться с ошибкой "ModuleNotFoundError: Нет модуля с именем blinker._saferef". Эту проблему можно решить, понизив версию библиотеки blinker до версии 1.7.0
мигалка
pip uninstall blinker
pip install blinker==1.7.0
Когда все необходимые условия созданы, давайте разделим настройку сценария на три простых шага:
Теперь, когда мы рассмотрели все необходимые условия, перейдем к самому сценарию. Это пошаговое руководство поможет вам интегрировать ProxyScrape доверенности на проживание с помощью Selenium, используя selenium-wire
и webdriver-manager
.
Начнем с импорта необходимых библиотек:
импортировать re
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
Определите данные прокси-сервера ProxyScrape :
proxy_address = "rp.proxyscrape.com:6060"
proxy_username = "your_proxy_username"
proxy_password = "your_proxy_password"
(proxy_username, proxy_password)
с вашими настоящими учетными данными ProxyScrape .Настройте прокси в Selenium Wire:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
Оптимизируйте настройки Chrome для повышения производительности:
chrome_options = Options()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
Установите selenium-wire
с webdriver-manager
:
сервис = сервис(ChromeDriverManager().install())
драйвер = webdriver.Chrome(service=service, seleniumwire_options=sw_options, options=chrome_options)
Перейдите на конечную точку ProxyScrape Judge, чтобы протестировать прокси:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
Извлечение и отображение проксированного IP-адреса с помощью regex:
# Пример: Извлечение IP из ответа
response = driver.page_source
# использование простого регекса для разбора ip-адреса источника
print("Ответ:", response)
print("Ваш IP:", re.search("HTTP_X_FORWARDED_FOR = (\d+\.)+\d+", response).group().split("=")[-1])
# выйти из экземпляра браузера
driver.quit()
HTTP_X_FORWARDED_FOR
и извлекает проксированный IPВ заключение можно сказать, что использование жилых прокси-серверовProxyScrape с Selenium Wire - это надежное решение для тех, кому нужны расширенные возможности веб-скреппинга и автоматизации с повышенной конфиденциальностью и безопасностью.
Следуя этому руководству, вы сможете создать бесшовную среду, которая не только обойдет ограничения, но и потребует минимальных усилий по настройке. Этот метод использует такие мощные инструменты, как Selenium Wire и WebDriver Manager, для эффективного управления и маршрутизации трафика через прокси-серверы, обеспечивая эффективность и надежность ваших задач по скраппингу.
Если вам нужна помощь в веб-скреппинге или у вас есть вопросы о нашем продукте, не стесняйтесь обращаться к нам через чат. Вы также можете присоединиться к нашему сообществу Discord для получения поддержки и обновлений.