Как использовать прокси ProxyScrape с Selenium на Linux для веб-скрапинга (руководство для начинающих)
Пошаговое руководство для начинающих по настройке резидентных, датацентровых или мобильных прокси ProxyScrape в Selenium на Linux. Включает настройку HTTP и SOCKS5, обходы аутентификации и базовую ротацию для веб-скрапинга.
Обзор
Если вы искали «proxy scape», «proxyscaper» или «proxyscape», вероятно, вам нужен ProxyScrape. В этом руководстве используется правильное написание. ProxyScrape предоставляет резидентные, датацентровые и мобильные прокси с поддержкой HTTP и SOCKS5, пул из более чем 97 млн IP-адресов, а также оплату по мере использования и фиксированную месячную подписку.
В этом руководстве для начинающих вы настроите прокси ProxyScrape в Selenium на Linux для скрапинга веб-страниц. Мы рассмотрим HTTP и SOCKS5, аутентификацию и базовую ротацию. В конце у вас будет рабочий скрипт Selenium, который направляет трафик через прокси ProxyScrape.
Предварительные требования
- Аккаунт ProxyScrape (бесплатный пробный период или платный план).
- Система Linux (протестировано на Ubuntu/Debian).
- Python 3.6 или выше.
- Менеджер пакетов pip.
- Установленный Google Chrome или Firefox.
- Базовые навыки работы с терминалом.
Шаги
-
Получите учётные данные прокси ProxyScrape.
Войдите в панель управления ProxyScrape и перейдите к типу прокси, который хотите использовать (резидентные, датацентровые или мобильные). Запишите следующее:
- Эндпоинт:
host:port - Имя пользователя и пароль (если включена аутентификация)
Для веб-скрапинга резидентные прокси часто наиболее надёжны для избежания блокировок, тогда как датацентровые прокси быстрее и дешевле.
- Эндпоинт:
-
Установите Selenium и WebDriver на Linux.
Установите Python-пакет Selenium:
pip install seleniumУстановите ChromeDriver (для Chrome/Chromium):
sudo apt update sudo apt install chromium-chromedriverИли установите GeckoDriver (для Firefox):
sudo apt install firefox-geckodriverУбедитесь, что драйвер находится в вашем PATH. Проверить можно командой
which chromedriver. -
Напишите базовый скрипт Selenium с HTTP-прокси ProxyScrape.
Создайте файл с именем
selenium_proxy.pyи добавьте следующий код. Замените заполнители на ваши учётные данные ProxyScrape.from selenium import webdriver from selenium.webdriver.chrome.options import Options PROXY = "http://username:password@host:port" # например, http://user123:[email protected]:8080 chrome_options = Options() chrome_options.add_argument(f'--proxy-server={PROXY}') driver = webdriver.Chrome(options=chrome_options) driver.get("https://httpbin.org/ip") print(driver.page_source) driver.quit()Запустите скрипт:
python selenium_proxy.pyВы должны увидеть JSON-ответ, содержащий IP-адрес, отличный от вашего. Если отображается ваш реальный IP, прокси работает неправильно.
-
Обработайте аутентификацию прокси для HTTP-прокси.
Флаг Chrome
--proxy-serverне поддерживает встроенные имя пользователя/пароль для HTTP-прокси. Самое простое решение для начинающих — добавить ваш IP в белый список в панели управления ProxyScrape. Перейдите в настройки прокси, добавьте ваш текущий публичный IP в белый список, затем удалите имя пользователя/пароль из URL прокси.В качестве альтернативы используйте библиотеку
selenium-wire, которая поддерживает прокси с аутентификацией:pip install selenium-wirefrom seleniumwire import webdriver options = { 'proxy': { 'http': 'http://username:password@host:port', 'https': 'https://username:password@host:port', } } driver = webdriver.Chrome(seleniumwire_options=options) driver.get("https://httpbin.org/ip") print(driver.page_source) driver.quit() -
Используйте SOCKS5-прокси с Selenium.
ProxyScrape также поддерживает SOCKS5. Chrome может использовать SOCKS5 со встроенной аутентификацией:
PROXY = "socks5://username:password@host:port" chrome_options.add_argument(f'--proxy-server={PROXY}')Обратите внимание, что Firefox может потребовать дополнительной настройки для аутентификации SOCKS5.
-
Добавьте базовую ротацию прокси.
Для простой ротации ведите список прокси и случайным образом выбирайте один для каждой сессии браузера. Резидентные прокси ProxyScrape часто предоставляют ротационный эндпоинт, но вы также можете ротировать вручную.
import random from selenium import webdriver from selenium.webdriver.chrome.options import Options proxies = [ "http://user:pass@host1:port", "http://user:pass@host2:port", # Добавьте больше прокси из вашего списка ProxyScrape ] proxy = random.choice(proxies) chrome_options = Options() chrome_options.add_argument(f'--proxy-server={proxy}') driver = webdriver.Chrome(options=chrome_options) driver.get("https://httpbin.org/ip") print(driver.page_source) driver.quit()Для продакшн-скрапинга рассмотрите использование сервиса ротации прокси или библиотеки вроде
selenium-wireс собственным middleware. -
Протестируйте ваш скрипт для скрапинга.
Напишите простой скрапер, который загружает страницу и извлекает заголовок:
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By PROXY = "http://username:password@host:port" chrome_options = Options() chrome_options.add_argument(f'--proxy-server={PROXY}') driver = webdriver.Chrome(options=chrome_options) driver.get("https://example.com") print(driver.title) driver.quit()Если вы видите заголовок страницы, ваш прокси работает.
Устранение неполадок
chromedriverне найден: Убедитесь, что драйвер установлен и находится в вашем PATH. При необходимости используйтеexport PATH=$PATH:/path/to/driver.- В подключении к прокси отказано: Проверьте учётные данные, эндпоинт и белый список IP. Убедитесь, что ваш тариф ProxyScrape активен.
- Всплывающее окно аутентификации в Chrome: Используйте добавление IP в белый список или
selenium-wire, чтобы избежать всплывающего окна. - Низкая скорость: Попробуйте датацентровые прокси для более быстрых ответов или уменьшите количество одновременных сессий.
- Ошибки SSL-сертификата: Добавьте
--ignore-certificate-errorsв опции Chrome для тестирования (не рекомендуется для продакшна).
Резюме
Вы научились использовать прокси ProxyScrape с Selenium на Linux для веб-скрапинга. Мы рассмотрели получение учётных данных, установку Selenium, настройку HTTP- и SOCKS5-прокси, обработку аутентификации и базовую ротацию. Не забывайте соблюдать условия использования сайтов и robots.txt. Для более продвинутых сценариев изучите ротационные эндпоинты ProxyScrape и функции управления сессиями.