Сколько трафика нужно для парсинга через прокси: как посчитать и сократить расход

Сколько трафика нужно для парсинга через прокси: как посчитать и сократить расход

Объём трафика на парсинг считается по простой формуле: число страниц × средний вес одной загрузки × запас на повторы. Главное — не угадывать вес страницы, а замерить его на 50–100 реальных запросах: разница между загрузкой через API и через браузер с картинками бывает стократной.

Коротко

  • Через прокси оплачивается весь переданный трафик: запросы, ответы, заголовки, повторы и служебные данные шифрования.
  • Вес одной загрузки сильно зависит от способа сбора: ответ API — килобайты, полная загрузка страницы в браузере — мегабайты.
  • Сжатие, отключение картинок и шрифтов и переиспользование соединений обычно сокращают расход в разы.
  • Начните с тестового пакета, замерьте фактический расход и только потом выбирайте объём.

Почему трафик важно считать заранее

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

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

Что входит в трафик через прокси

Прокси видит все байты, которые проходят между вашим скриптом и сайтом. В счёт обычно идёт больше, чем вес самой страницы:

  • тело ответа — HTML, JSON, картинки, скрипты, шрифты;
  • заголовки запросов и ответов, включая куки;
  • установка защищённого соединения (TLS-рукопожатие) — несколько килобайт на каждое новое соединение;
  • перенаправления (редиректы) и повторные запросы после ошибок;
  • сами запросы: для POST с большим телом это заметная часть объёма.

Имейте в виду. Если сайт отдаёт ответы в сжатом виде, через прокси проходит сжатый объём. Поэтому вес страницы в браузере на вкладке «Сеть» в колонке «Передано» ближе к реальному расходу, чем размер сохранённого HTML-файла.

Сколько весит одна загрузка

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

Способ сбораЧто скачиваетсяОриентир на одну загрузку
Запрос к APIТолько данные в JSON5–50 КБ
HTML-страница без ресурсовРазметка страницы, сжатая сервером50–500 КБ
Браузер без картинок и шрифтовHTML, скрипты, стили, запросы к API0,5–2 МБ
Браузер с полной загрузкойВсё, включая картинки, видео и рекламу2–10 МБ и больше
Ориентировочный вес одной загрузки при разных способах сбора

Как посчитать объём: формула и примеры

Для оценки достаточно трёх чисел: сколько страниц нужно загрузить, сколько в среднем весит одна загрузка и какая доля запросов уйдёт на повторы.

Объём в месяц = страниц в день × вес загрузки × (1 + доля повторов) × 30

Для простоты считаем 1 ГБ = 1000 МБ = 1 000 000 КБ, а долю повторов — 15%: столько запросов в среднем повторяют после таймаутов и временных ошибок. Если в ваших логах доля другая, подставьте свою.

СценарийЗагрузок в деньВес загрузкиВ день с повторамиВ месяц
Мониторинг цен через API50 00020 КБ1,15 ГБоколо 35 ГБ
Сбор карточек товаров в HTML10 000300 КБ3,45 ГБоколо 104 ГБ
Браузер с полной загрузкой страниц2 0003 МБ6,9 ГБоколо 207 ГБ
Примеры расчёта при доле повторов 15%

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

Как замерить реальный вес страницы

  1. Выберите 50–100 типичных страниц.
    Берите разные: карточки, списки, страницы поиска — они весят по-разному.
  2. Загрузите их тем же способом, что и в бою.
    Тот же скрипт, те же заголовки, тот же режим браузера.
  3. Посмотрите расход в статистике прокси.
    Это самый честный замер: он учитывает заголовки, шифрование и повторы.
  4. Разделите расход на число страниц.
    Получится средний вес загрузки для формулы выше.

Для быстрой прикидки без прокси подойдёт вкладка «Сеть» (Network) в инструментах разработчика браузера: внизу показан объём «Передано» (transferred) для всей страницы.

Как сократить расход трафика

  • Используйте API вместо HTML, где это возможно
    Многие сайты подгружают данные отдельными запросами в JSON. Забирать их напрямую в разы дешевле, чем грузить всю страницу.
  • Включите сжатие
    Передавайте заголовок Accept-Encoding: gzip, br. requests, httpx и браузеры делают это по умолчанию, но самописные клиенты — не всегда.
  • Отключите картинки, шрифты и видео в браузере
    В Playwright это делается перехватом запросов (page.route) по типу ресурса — для парсинга текста они не нужны.
  • Переиспользуйте соединения
    Сессия в requests или клиент в httpx держат соединение открытым, и TLS-рукопожатие не повторяется на каждый запрос.
  • Не скачивайте то, что не изменилось
    Если сайт отдаёт заголовки ETag или Last-Modified, условный запрос вернёт короткий ответ 304 вместо всей страницы.
  • Ограничьте повторы
    Бесконечные повторы после ошибок — частая причина перерасхода. Ставьте предел в 3–5 попыток и паузу между ними, которая растёт с каждой попыткой.

Пример отключения тяжёлых ресурсов в Playwright:

Python

BLOCKED = {"image", "media", "font"}

def block_heavy(route):
    if route.request.resource_type in BLOCKED:
        return route.abort()
    return route.continue_()

page.route("**/*", block_heavy)

Как это устроено у нас

Резидентные прокси и мобильные прокси Proxy.Market оплачиваются за трафик. Есть три варианта:

Тестовый пакет

100 МБ, чтобы замерить реальный вес страниц на вашей задаче.

Pay as you go

Гигабайты списываются с баланса по мере расхода — удобно, если нагрузка нерегулярная.

Пакеты трафика

Объём покупается заранее, и чем он больше, тем ниже цена гигабайта.

Как работает оплата по факту расхода, подробно описано в статье «Оплата с помощью Pay As You Go». Если объём большой и стабильный, сравните его с серверными прокси: там платите за адрес, а не за гигабайты, и при тяжёлых страницах это может оказаться выгоднее.


Частые вопросы

Учитывается ли в трафике сам запрос, а не только ответ?
Да, через прокси проходят данные в обе стороны. Для обычных GET-запросов это небольшая доля, для POST с большим телом — заметная.

Сколько трафика уходит на 1000 страниц?
Зависит от способа сбора: через API — порядка 5–50 МБ, в браузере с полной загрузкой — 2–10 ГБ. Точную цифру даст замер на тестовом пакете.

Сжатие сайта уменьшает расход трафика прокси?
Да. Если сервер отдаёт ответ в gzip или brotli, через прокси проходит сжатый объём, а распаковка происходит уже на вашей стороне.

Что выгоднее: пакет или Pay as you go?
При стабильном объёме обычно выгоднее пакет — гигабайт в нём дешевле. Pay as you go подходит для нерегулярных задач и первого месяца, пока объём неизвестен.

Посчитаем объём под вашу задачу

Расскажите, какие сайты и сколько страниц нужно собирать, — менеджер подберёт пакет и цену.

Узнать цену