Веб-скрапинг · 2 мин чтения

Как использовать прокси для веб-скрапинга

Прокси скрывают исходный сервер вашего скрапера и распределяют запросы между IP-адресами, чтобы один адрес не попал под ограничение скорости или блокировку. Это руководство охватывает выбор прокси и их подключение к Python, Scrapy и Playwright.

Почему вашему скраперу нужен прокси

Почти любую конфигурацию скрапинга определяют две задачи: защита вашего реального IP и соблюдение лимитов запросов на каждый IP.

Когда краулер отправляет тысячи запросов с одного адреса, целевой сайт видит один IP, ведущий себя как бот. Обычный результат — замедление, стена CAPTCHA или полная блокировка, и что хуже — заблокированным адресом оказывается ваш origin-сервер, машина, на которой работает ваша бизнес-логика. Прокси стоит между вашим скрапером и целью, поэтому сайт всегда видит только исходящий IP прокси, а не ваш настоящий.

Почти любую конфигурацию скрапинга определяют два соображения:

  • Защита вашего origin-сервера. Если IP вашего продакшн-сервера попадёт в чёрный список, ущерб переживёт сам скрапинг. Маршрутизация через прокси сохраняет этот адрес чистым и не связанным с обходом.
  • Распределение нагрузки. Распределение запросов между несколькими исходящими IP удерживает каждый из них в пределах лимита запросов цели на один IP, так что вы собираете данные, не срабатывая защиту от злоупотреблений.

Именно для этого s4m предоставляет аутентифицированные датацентровые SOCKS5 и HTTP прокси. Они быстрые и недорогие, что подходит для больших объёмов и терпимых целей, но, поскольку это датацентровые IP, строгие сайты могут распознать их по отпечатку легче, чем резидентные адреса, поэтому соответствующим образом настройте ожидания. Для быстрых экспериментов можно взять одноразовые точки доступа из списка бесплатных публичных прокси — сторонних прокси, которые постоянно проверяются, но строго на ваш собственный риск. Если же вы хотите скрыть целое приложение или сервер, а не отдельный клиент, VPN-туннель покрывает весь его трафик. Тарифы на прокси с оплатой за использование смотрите на странице цен.

Выбор прокси для скрапинга

Подбирайте инструмент под задачу. Вот как варианты s4m сравниваются для скрапинговой нагрузки.

Датацентровые SOCKS5 / HTTP

Прокси с оплатой за использование на proxy.s4m.online — порт 1080 для SOCKS5, 3128 для HTTP, аутентификация через USER:PASS. Быстрые и экономичные для массового обхода целей, которые не оценивают репутацию IP слишком агрессивно. Это рабочая лошадка для продакшн-скрапинга.

Бесплатный публичный список прокси

Сторонние прокси, собранные из открытых источников и постоянно перепроверяемые, с фильтрацией по стране, протоколу и анонимности. Идеальны для прототипирования скрапера, прежде чем тратить бюджет, но ненадёжны и на ваш собственный риск, совершенно не подходят для продакшн-задач.

Выделенный персональный IP

Выделенный IP предоставляется исключительно одному клиенту на срок назначения по условиям сервиса. Прежняя история, срок, доступность и поддерживаемые привязки всё равно имеют значение. Выходной IP может иметь прежнюю историю. Аккаунты, cookie и сигналы браузера могут по-прежнему идентифицировать пользователя; смена адреса не гарантирует чистой репутации.

Интегрируйте и контролируйте свой краулинг

От первого аутентифицированного запроса до сессий, ротации, лимитов запросов и контроля расходов.

Направьте свой клиент на прокси

В Python requests установите словарь proxies в socks5://USER:[email protected]:1080 (установите requests[socks]) или HTTP-точку доступа на 3128. В Scrapy включите HttpProxyMiddleware и задайте прокси для каждого запроса или через переменную окружения http_proxy. В Playwright передайте proxy={"server": ...} в browser.launch().

Выберите сессии или ротацию

Используйте одну постоянную requests.Session — или выделенный персональный IP — когда цель привязывает cookie и состояние входа к IP, поскольку смена IP посреди сессии выглядит подозрительно. Ротируйте между многими исходящими IP при обходе публичных списков, чтобы оставаться в пределах лимитов на один IP. Не смешивайте эти два подхода для одной логической личности.

Ограничивайте темп и уважайте цель

Соблюдайте robots.txt, читайте условия использования сайта и добавляйте задержки: time.sleep в requests, DOWNLOAD_DELAY и AutoThrottle в Scrapy. Равномерный, «человеческий» темп запросов блокируют гораздо реже, чем всплески — ответственный скрапинг является одновременно и этичным, и эффективным выбором.

Ограничьте свои расходы

Поскольку прокси дата-центра измеряемые, следите за использованием. s4m позволяет администраторам устанавливать лимиты по трём осям — на тип аккаунта, на IP и на аккаунт — чтобы неуправляемый обходчик не смог тихо сжечь ваш бюджет. Установите потолок на аккаунт перед запуском большой задачи.

Python: скрапинг через прокси s4m

Минимальный, вежливый скрапер на requests, который выходит через ваш датацентровый прокси s4m вместо вашего origin-сервера.

python
import time
import requests

# s4m datacenter proxy endpoints:
#   SOCKS5 -> proxy.s4m.online:1080   (pip install "requests[socks]")
#   HTTP   -> proxy.s4m.online:3128
PROXY = "socks5://USER:[email protected]:1080"
# PROXY = "http://USER:[email protected]:3128"

session = requests.Session()
session.proxies.update({"http": PROXY, "https": PROXY})
session.headers.update(
    {"User-Agent": "my-scraper/1.0 ([email protected])"}
)

# Confirm requests now exit through the proxy, not your real IP:
print("exit IP:", session.get("https://api.ipify.org", timeout=15).text)

for page in range(1, 6):
    r = session.get(f"https://example.com/list?page={page}", timeout=20)
    r.raise_for_status()
    # ... parse r.text here ...
    time.sleep(1.5)  # throttle: stay within the target's rate limits
FAQ

Ответы на вопросы

Являются ли прокси s4m резидентными?

Нет. s4m предоставляет аутентифицированные датацентровые SOCKS5 и HTTP прокси. Они быстрые и экономичные, но поскольку это датацентровые IP, сайты, которые оценивают репутацию IP, могут обнаружить их легче, чем резидентные адреса. Мы не продаём и не заявляем о резидентных прокси.

Могу ли я ротировать IP автоматически?

Вы управляете ротацией со своей стороны, чередуя запросы или сессии. Для фиксированного выхода без ротации добавьте выделенный персональный IP и привяжите его к своему прокси. Сочетайте любой подход с лимитами использования s4m на IP и на аккаунт, чтобы держать и поведение, и стоимость предсказуемыми.

SOCKS5 или HTTP — что использовать для скрапинга?

Оба работают. SOCKS5 (порт 1080) не зависит от протокола и обрабатывает любой TCP-трафик, что удобно для автоматизации браузера, как Playwright. HTTP (порт 3128) — самый простой вариант для обычных скриптов на основе requests. Выбирайте то, что ваш клиент поддерживает лучше всего.

Можно ли использовать список бесплатных прокси для продакшн-скрапинга?

Оставьте его для тестирования. Бесплатный список агрегирует сторонние прокси из открытых источников; они постоянно проверяются, но могут исчезнуть или замедлиться в любой момент, и вы используете их на свой риск. Для надёжных задач используйте аутентифицированные датацентровые прокси s4m.

Законен ли веб-скрапинг через прокси?

Прокси меняет то, какой IP видит сайт; оно не даёт разрешения. Всегда проверяйте условия использования целевого ресурса и robots.txt, избегайте персональных или защищённых авторским правом данных, которые вам не разрешено собирать, и держите частоту запросов в разумных пределах. Прокси не заменяет законный и этичный скрапинг.

Начинайте скрапинг, не раскрывая свой реальный IP-адрес

Поднимите аутентифицированные SOCKS5 и HTTP прокси дата-центров или сначала опробуйте прототип с бесплатным публичным списком. Анонимные аккаунты, no-logs по задумке, и вы платите только за данные, которые тарифицируете.

Эту страницу нашли по запросу

Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.