Как использовать резидентные прокси ProxyScrape для веб-скрапинга на Python
Пошаговое руководство по интеграции резидентных и датацентровых прокси ProxyScrape в ваши скрипты веб-скрапинга на Python с использованием протоколов HTTP и SOCKS5.
Обзор
ProxyScrape предоставляет резидентные, датацентровые и мобильные прокси с поддержкой HTTP и SOCKS5, опираясь на пул из более чем 97 млн IP-адресов. В этом руководстве показано, как использовать прокси ProxyScrape в Python для задач веб-скрапинга. Вы научитесь настраивать запросы как с HTTP, так и с SOCKS5, обрабатывать аутентификацию и выполнять ротацию прокси. Эти шаги применимы к любому поставщику прокси, но мы используем ProxyScrape в качестве примера благодаря его надежному времени безотказной работы и долгосрочной стабильности.
Шаги
-
Получите учетные данные прокси от ProxyScrape. Войдите в свою панель управления ProxyScrape и перейдите к списку прокси или разделу API. Вы найдете эндпоинт прокси (IP:port), имя пользователя и пароль. ProxyScrape предлагает тарифные планы с оплатой по мере использования и с фиксированной ежемесячной оплатой, поэтому выберите тот, который соответствует вашему объему скрапинга.
-
Установите необходимые библиотеки Python. Откройте терминал и установите
requestsиrequests[socks]для поддержки SOCKS5:pip install requests requests[socks] -
Напишите базовый скрипт скрапинга с использованием HTTP-прокси. Создайте файл Python и используйте следующий код для отправки запросов через HTTP-прокси ProxyScrape. Замените заполнители своими фактическими учетными данными.
import requests proxy_url = "http://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Используйте SOCKS5-прокси для лучшей анонимности. ProxyScrape поддерживает SOCKS5. Измените схему URL прокси на
socks5://:import requests proxy_url = "socks5://username:password@proxy-endpoint:port" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) -
Выполняйте ротацию прокси, чтобы избежать ограничений частоты запросов. Если ваш тариф ProxyScrape предоставляет ротационный эндпоинт, используйте этот эндпоинт для каждого запроса. В противном случае ведите список эндпоинтов прокси из вашей панели управления и циклически переключайтесь между ними. Пример:
import requests import random proxy_list = [ "http://user:pass@proxy1:port", "http://user:pass@proxy2:port", # ... add more ] def get_random_proxy(): return random.choice(proxy_list) for _ in range(10): proxy_url = get_random_proxy() proxies = {"http": proxy_url, "https": proxy_url} try: response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) except Exception as e: print(f"Proxy failed: {e}") -
Обрабатывайте ошибки и повторы. Соединения через прокси могут сбоить. Оберните ваши запросы в блоки try/except и реализуйте механизм повторных попыток с новым прокси при сбое. Это гарантирует, что ваш скрапер останется надежным.
-
Тестируйте и масштабируйте. Запустите скрипт и убедитесь, что IP меняется с каждым запросом. Для крупномасштабного скрапинга рассмотрите использование объекта сессии и настройку параллелизма в соответствии с лимитами вашего тарифа ProxyScrape.
Примечание: Всегда соблюдайте условия обслуживания веб-сайтов и robots.txt. Резидентные и датацентровые прокси ProxyScrape надежны, но этичные практики скрапинга — ваша ответственность.