Проверьте схему записей Reddit до загрузки в хранилище
Проверьте JSON исторического архива Reddit перед загрузкой в хранилище: плоские записи, контроль типов, локальные образцы и ограниченная пагинация.
Получить API-ключПример запроса
cURL
curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditdataapi.com/v1/posts?subreddit=python&limit=3"Сначала образец ответа, затем таблица
Reddit Data API предоставляет инженерам данных доступ к независимому историческому архиву Reddit. Это не официальный продукт платформы и не источник обновлений в реальном времени. Начните интеграцию с проверки небольшого ответа, прежде чем создавать таблицы хранилища. Сохраненный материал может отличаться от текущего состояния исходной страницы, а наличие записи сегодня не обещает ее доступности при следующем обращении.
Исходный пример для проверки: https://api.redditdataapi.com/v1/posts?subreddit=python&limit=3. Параметр subreddit=python выбирает сообщество, а limit=3 запрашивает не более трех записей. Передайте собственный ключ через X-API-Key или Authorization: Bearer. Пустой успешный ответ возможен: он не доказывает отсутствие исторических обсуждений сообщества. Сначала сохраните полученный ответ, затем исследуйте его поля и структуру, не подставляя ожидаемые значения вместо отсутствующих.
Ответы содержат плоские записи, а не готовые деревья обсуждений. Проверьте наличие нужных полей и их фактические значения до преобразования в строки таблицы. Отсутствующий атрибут и явное null стоит различать. Если присутствуют parent_id или link_id, клиент может группировать записи локально, но полная цепочка родительских комментариев и получение всех связанных материалов не гарантируются.
Схема загрузчика и границы выборки
Определите правила преобразования для собственного загрузчика: какие поля нужны анализу, какие типы допустимы и куда помещать записи, не прошедшие проверку. Сохраняйте исходный ответ отдельно от нормализованной таблицы, чтобы можно было разобрать причину отклонения строки. Это ваша локальная обработка, а не функция серверной проверки пользовательских схем. Удачный небольшой образец не устанавливает единообразие всех записей архива.
Параметр min_score работает исключительно как фильтр и не влияет на сортировку. Записи выдаются во внутреннем порядке документов _doc, который не соответствует хронологии, релевантности или рейтингу. Один запрос возвращает одну страницу и не более 100 записей. Номер page ограничен диапазоном от 1 до 100. Обход страниц и разделение работы по датам не доказывают полноту сбора или отсутствие повторов.
Читайте итоговый счетчик вместе с relation: eq обозначает точное число совпадений, gte — нижнюю границу, unknown — отсутствие надежного итога; total может быть null. Точный итог не доказывает, что загрузчик получил каждую запись. Сохраняйте параметры, время получения и версию правил обработки рядом с локальными файлами. Повторная обработка этих файлов возможна независимо от предположений о неизменности будущей выдачи API.
Доступ и бюджет проверки
Для регистрации используются электронная почта и пароль длиной от 12 до 72 байтов. Ключ показывается один раз сразу после создания учетной записи, до оплаты. Сохраните его отдельно от общедоступного кода. Пробный баланс в 100 кредитов зависит от общих для сети ограничений против злоупотреблений и не гарантирован каждому аккаунту. Получение ключа само по себе не требует пополнения.
Каждый успешный запрос, включая пустой результат, списывает один кредит. Тариф составляет $1 за 1000 запросов; минимальное платное пополнение $50 дает 50000 кредитов. Подписки нет, платные кредиты не имеют срока действия. Для оплаты войдите и создайте счет: USDT TRON TRC20 либо USDC ERC20 в основной сети Ethereum. Используйте адрес и точную сумму из текущего счета, затем отправьте хеш транзакции на проверку.
Некорректные запросы не списывают кредиты, а сбой вышестоящего сервиса возвращает резерв. Потеря ответа клиентом может произойти после успешного платного получения данных сервером; успешный повтор списывает еще один кредит. Публичный /v1/status не тарифицируется и сообщает статическое описание сервиса, подтверждая ответ HTTP-приложения. Он не проверяет поиск, наличие записей или готовность вашего хранилища принять очередную загрузку.