Все статьиТехническое12 мин

Какие прокси нужны для сбора данных AI-моделей

Datacenter и ISP прокси для сбора обучающих данных AI: архитектура пайплайна, выбор типа прокси, примеры кода на Python. 100 000+ IP, до 1 Gbps.

Команда InfraProxy

10 апреля 2026 г.

#AI#прокси#сбор данных#машинное обучение#datacenter прокси#краулинг

Почему AI-командам нужны прокси

Модели машинного обучения требуют данных — много данных. Чем больше и разнообразнее обучающий датасет, тем точнее модель. Проблема в том, что большая часть полезных данных находится в открытом вебе, а сайты не рассчитаны на массовый автоматический сбор.

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

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

Два типа прокси: какой выбрать для AI-задач

Не все прокси одинаковы. Для задач AI критичны два параметра: скорость и стоимость на масштабе.

| Параметр | Datacenter прокси | Residential прокси | |----------|------------------|-------------------| | Скорость | До 1 Gbps на канал | 5–50 Mbps | | Стоимость трафика | Фиксированная (безлимит) | $5–15 за GB | | Пул IP | 100 000+ (InfraProxy) | Зависит от провайдера | | Uptime | 99.9% SLA | Зависит от устройств | | Подходит для | Объёмный краулинг, датасеты, RAG | Аккаунты, соцсети |

Для сбора обучающих данных datacenter-прокси — единственный экономически разумный вариант. При объёме в 10 млн страниц residential-прокси обойдутся в десятки тысяч долларов только за трафик. Datacenter-прокси работают с фиксированной стоимостью и дают скорость, которая позволяет собрать тот же объём за часы, а не за недели.

Подробнее о различиях типов прокси — в нашей статье Datacenter vs residential прокси: что выбрать для краулинга.

Архитектура пайплайна сбора данных

Типичный пайплайн сбора данных для AI-модели состоит из четырёх этапов:

  1. Генерация задач — список URL или поисковых запросов, по которым нужно собрать данные
  2. Краулинг через прокси — параллельная отправка HTTP-запросов через пул прокси
  3. Извлечение и очистка — парсинг HTML, удаление шума, нормализация текста
  4. Сохранение в хранилище — запись в базу данных, файловое хранилище или data lake

Прокси участвуют на втором этапе, но их характеристики влияют на архитектуру всего пайплайна. Если прокси медленные — нужно больше параллельных соединений и сложнее управление очередями. Если прокси нестабильные — нужна логика повторных запросов и мониторинг.

С datacenter-прокси InfraProxy (скорость до 1 Gbps, uptime 99.9%) архитектура упрощается: достаточно пула из 50–100 одновременных соединений, чтобы обрабатывать тысячи страниц в минуту.

Подключение прокси: примеры кода

Python: базовый краулер с прокси

import requests
from concurrent.futures import ThreadPoolExecutor
import time

PROXY_URL = "socks5://user:pass@fi.infraproxy.ru:1080"

proxies = {
    "http": PROXY_URL,
    "https": PROXY_URL,
}

def fetch_page(url: str) -> dict:
    """Загружает страницу через прокси и возвращает текст."""
    try:
        response = requests.get(
            url,
            proxies=proxies,
            timeout=15,
            headers={"User-Agent": "Mozilla/5.0 (compatible; DataBot/1.0)"}
        )
        return {
            "url": url,
            "status": response.status_code,
            "length": len(response.text),
            "text": response.text[:5000],  # первые 5KB для обработки
        }
    except requests.RequestException as e:
        return {"url": url, "status": 0, "error": str(e)}

# Параллельный сбор данных
urls = [
    "https://example.com/page/1",
    "https://example.com/page/2",
    "https://example.com/page/3",
]

with ThreadPoolExecutor(max_workers=10) as executor:
    results = list(executor.map(fetch_page, urls))

successful = [r for r in results if r.get("status") == 200]
print(f"Собрано: {len(successful)}/{len(urls)} страниц")

curl: проверка работы прокси

# Проверка через SOCKS5
curl -x socks5://user:pass@fi.infraproxy.ru:1080 \
  "https://httpbin.org/ip" \
  -w "\nВремя ответа: %{time_total}s\n"

# Проверка через HTTP-прокси
curl -x http://user:pass@fi.infraproxy.ru:8080 \
  "https://httpbin.org/headers" \
  -H "Accept: application/json"

Примечание: user:pass и хосты (fi.infraproxy.ru) — условные. Реальные данные доступа выдаются после оформления тестового доступа.

Ротация IP и sticky-сессии для краулинга

При сборе обучающих данных ротация IP необходима по двум причинам:

  • Распределение нагрузки — сайт не видит аномального трафика с одного адреса
  • Обход rate-limiting — каждый IP получает свой лимит запросов

InfraProxy поддерживает два режима:

Автоматическая ротация — каждый запрос отправляется с нового IP из пула 100 000+ адресов. Оптимально для сбора независимых страниц.

Sticky-сессии — IP фиксируется за вашим подключением на заданное время (5–30 минут). Нужно для многостраничного обхода, когда сайт отслеживает сессию.

Подробнее о стратегиях ротации — в статье Стратегии ротации прокси для масштабного веб-скрейпинга.

Асинхронный сбор данных на Python

Для больших объёмов синхронные запросы слишком медленны. Асинхронный подход через aiohttp позволяет отправлять сотни запросов одновременно:

import aiohttp
import asyncio
from aiohttp_socks import ProxyConnector

PROXY_URL = "socks5://user:pass@fi.infraproxy.ru:1080"

async def fetch(session: aiohttp.ClientSession, url: str) -> dict:
    try:
        async with session.get(url, timeout=aiohttp.ClientTimeout(total=15)) as resp:
            text = await resp.text()
            return {"url": url, "status": resp.status, "length": len(text)}
    except Exception as e:
        return {"url": url, "error": str(e)}

async def crawl(urls: list[str], concurrency: int = 50) -> list[dict]:
    connector = ProxyConnector.from_url(PROXY_URL)
    async with aiohttp.ClientSession(connector=connector) as session:
        semaphore = asyncio.Semaphore(concurrency)

        async def bounded_fetch(url):
            async with semaphore:
                return await fetch(session, url)

        tasks = [bounded_fetch(url) for url in urls]
        return await asyncio.gather(*tasks)

# Запуск
urls = [f"https://example.com/data/{i}" for i in range(1000)]
results = asyncio.run(crawl(urls, concurrency=50))

ok = sum(1 for r in results if r.get("status") == 200)
print(f"Успешно: {ok}/{len(urls)}")

С пулом datacenter-прокси InfraProxy и 50 параллельными соединениями этот скрипт обрабатывает ~1000 страниц за 30–60 секунд — в зависимости от скорости ответа целевого сайта.

На какие задачи AI нацелен сбор данных через прокси

Вот конкретные сценарии, где datacenter-прокси — оптимальный инструмент:

  • Формирование обучающих датасетов — краулинг текстов, таблиц, структурированных данных с тысяч источников
  • RAG-пайплайны — регулярное обновление баз знаний AI-продуктов свежими данными из веба. Подробнее — в руководстве по настройке прокси для RAG
  • Мониторинг с AI-обработкой — отслеживание цен, новостей, изменений на сайтах с последующей AI-классификацией
  • Валидация моделей — сбор тестовых данных для проверки точности модели на свежих примерах

Чек-лист: что нужно для старта

| Шаг | Описание | Статус | |-----|----------|--------| | 1 | Определить объём: сколько страниц в день | ☐ | | 2 | Выбрать тип прокси (DC для объёма, ISP для trust-score) | ☐ | | 3 | Получить тестовый доступ и проверить скорость | ☐ | | 4 | Настроить ротацию или sticky-сессии | ☐ | | 5 | Протестировать на 100–1000 страниц | ☐ | | 6 | Масштабировать до целевого объёма | ☐ |

InfraProxy предоставляет тестовый доступ к пулу из 100 000+ IP с поддержкой HTTP, HTTPS и SOCKS5. Серверы расположены в Финляндии и США на базе AMD EPYC с каналами до 1 Gbps.

Для работы с юридическими лицами — договор, постоплата в рублях, закрывающие документы. Подробнее о возможностях для AI-команд — на странице Прокси для AI.


Попробуйте InfraProxy — тестовый доступ за 1 день. Подберём конфигурацию под ваши объёмы и задачи. Оставить заявку →

Нужны надёжные прокси для вашего проекта?

InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.