Описательный пользовательский агент
Reddit документирует, что шаблонные пользовательские агенты ограничиваются жёстче. Задайте уникальный описательный агент, прежде чем подозревать проблему с адресом.
Резидентные IPv4 для сбора данных в Reddit — на платформе, которая документирует свои лимиты, а не оставляет вас гадать.
Обновлено:
Проблема
Reddit выделяется среди этих платформ: он публикует API с задокументированными лимитами запросов и требует описательный пользовательский агент, однозначно идентифицирующий клиента. Запросы с общим шаблонным пользовательским агентом ограничиваются жёстче — это задокументированное поведение, а не догадка. Поэтому соблюдать правила при сборе данных здесь действительно возможно — в отличие от платформ, которые не публикуют ничего.
Поскольку лимиты применяются к каждому клиенту и каждому адресу, объём сбора ограничивает бюджет запросов, а не репутация адреса. Распределение по резидентным внешним IP поднимает потолок, но правильный первый шаг — корректная аутентификация и настоящий пользовательский агент: это ничего не стоит и снимает большую часть ограничений скорости.
Reddit тоже изменил цены на доступ к API, и часть работы сместилась на веб-версию. Там действует тот же принцип: честно идентифицируйте клиента и соблюдайте темп запросов. Ориентироваться стоит на собственные рекомендации Reddit, а не на сторонние заявления о безопасной частоте запросов.
Для значительной части работы с Reddit прокси просто не нужен, и сказать об этом полезнее, чем его продать. Корректно аутентифицированный клиент с описательным пользовательским агентом, работающий в пределах задокументированного бюджета, не будет ограничен, а настройка ничего не стоит. Прокси становятся актуальны при совокупных объёмах, которые один клиент не покрывает, или для анонимного сбора, где главным ограничением служит лимит на адрес. Хвататься за них до исправления аутентификации — распространённая и дорогая ошибка.
Если вы сравниваете сценарии, прежде чем принять решение, посмотрите все сценарии использования прокси, чтобы понять, какая схема подходит лучше всего.
Как это решает TrueProxies
Reddit документирует, что шаблонные пользовательские агенты ограничиваются жёстче. Задайте уникальный описательный агент, прежде чем подозревать проблему с адресом.
Лимиты применяются к каждому клиенту и каждому адресу, поэтому планируйте бюджет запросов, а не пытайтесь обогнать ограничитель.
Резидентные внешние IP поднимают совокупный потолок для крупных сборов. Переходите к ним после того, как настроены аутентификация и темп запросов, а не раньше.
Reddit возвращает в ответах API заголовки с лимитами запросов. Читайте их и снижайте темп по их данным, а не вычисляйте лимит по сбоям.
Задокументированный API с корректной аутентификацией — наименее проблемный путь. Обращайтесь к веб-версии, только если API действительно не покрывает задачу.
Рекомендуем
От $1.64/GB
Платите за гигабайты, когда сбор идёт всплесками, а не непрерывно, — простой ничего не стоит.
От $4.08/час на 10 Mbps
Безлимитный трафик на фиксированный срок подходит для непрерывного сбора, когда объём запросов трудно спрогнозировать в гигабайтах.
Интеграция
# Authenticate and identify the client before adding any proxy.
# Reddit documents that generic user agents are throttled harder.
UA="my-research-tool/1.0 (contact: you@example.com)"
curl -s -A "$UA" \
-H "Authorization: bearer $TOKEN" \
-D - -o /dev/null \
"https://oauth.reddit.com/r/<subreddit>/new?limit=100" | grep -i x-ratelimit
# Only distribute across residential exits once a single
# authenticated client's documented budget is genuinely exhausted.Вопросы и ответы
Часто нет. Reddit публикует API с задокументированными лимитами запросов, а корректная аутентификация с описательным пользовательским агентом снимает большинство ограничений. Прокси нужны, когда совокупный объём превышает то, что укладывается в бюджет одного клиента.
Чаще всего из-за шаблонного или отсутствующего пользовательского агента. Reddit документирует, что запросы с общим пользовательским агентом ограничиваются жёстче. Задайте уникальный описательный агент, прежде чем считать проблемой адрес.
Для анонимного сбора публичных данных — да: ротация распределяет бюджет запросов по пулу, а именно он и является ограничением. При авторизованной работе с API соблюдайте задокументированный лимит на клиента, а не пытайтесь его обойти.
Нет. Прокси меняет только сетевое происхождение. Платформы оценивают отпечатки устройства и браузера, историю аккаунта и поведенческие сигналы наряду с IP, и любой из них сам по себе может вызвать проверку. Соблюдайте условия каждой платформы и тестируйте на некритичных аккаунтах.
Что разрешено, определяют условия API Reddit, и они менялись. Перед сбором данных прочитайте актуальные условия и политику Reddit в отношении публичного контента. Задокументированный API с корректной аутентификацией — наименее проблемный путь.
Reddit публикует лимиты для авторизованных клиентов API и возвращает оставшийся бюджет в заголовках каждого ответа. Читайте эти заголовки и снижайте темп по их данным, а не вычисляйте порог по неудачным запросам.
Для авторизованного клиента — нет: лимит применяется к каждому клиенту. Распределение по внешним IP поднимает совокупный потолок только для анонимного сбора. Сначала исправьте аутентификацию и пользовательский агент — это снимает большинство ограничений.
Уникальный и описательный, с названием вашего приложения и контактом. В документации Reddit сказано, что клиенты с общим шаблонным пользовательским агентом ограничиваются жёстче, поэтому это самое дешёвое из доступных исправлений.
Другие способы использования резидентных прокси.
Бесплатная пробная услуга
Сначала аутентификация и темп запросов, затем распределение по резидентным внешним IP, если этого требует объём.
Попробовать бесплатно