Reddit Posts API

Задайте межі дат UTC перед отриманням дописів

Визначайте включні дати UTC, розділяйте сусідні періоди та зберігайте обмежені вибірки photography без обіцянок повного охоплення архіву.

Отримати API-ключ

Розрізняйте дату допису та час збору

Порівнюючи обговорення фототехніки за два періоди, відокремлюйте дату запису від часу отримання відповіді. Reddit Posts API застосовує from і to до created_utc, а не часу завантаження в архів. Це незалежний історичний сервіс без офіційного зв’язку з Reddit та оновлень у реальному часі. Певний період охоплення, постійна доступність та однакові майбутні результати не гарантуються; дослідження має враховувати ці обмеження джерела.

Почніть із https://api.redditpostsapi.com/v1/posts?subreddit=photography&min_score=10&limit=3, щоб переглянути доступні записи. Запит обирає спільноту та поріг числової оцінки, а не тему обладнання чи найкращі дописи. Прочитайте текст локально й визначте, як розрізняти рекомендацію камери, запитання про об’єктив та інші матеріали про фотографію. Це запропоновані категорії вашої розмітки, а не виявлені сервісом результати. Відсутній текст слід позначати окремо, не підмінюючи його висновком про відсутність теми.

Визначте дослідницький діапазон в UTC до надсилання запиту. from і to задаються як YYYY-MM-DD, причому день to входить повністю. Це відбір за днями, а не інтерфейс для зазначення секунд. Якщо подію описано в місцевому часі, спочатку переведіть її межі в UTC. Для внутрішньодобового запитання запитайте дати, що його охоплюють, та застосуйте локальний відбір за доступними часовими значеннями, зафіксувавши відсутні або непридатні поля.

Розділіть сусідні періоди без спільного дня

Умовний приклад правил відбору: from=2024-05-01 і to=2024-05-07 включають сім зазначених діб UTC. Наступний період може використовувати from=2024-05-08 і to=2024-05-14. Ці дати пояснюють семантику, а не підтверджують охоплення архіву. Якщо почати другий інтервал 7 травня, цей день навмисно потрапить до обох. Правильно розмежовані сусідні діапазони все одно не гарантують повного або вільного від повторів отримання даних під час віддаленого обходу сторінок.

Збережіть маршрут, спільноту, дати, поріг оцінки, пошуковий q та тип запису для кожного діапазону. Сталість цих умов допомагає пояснювати відбір, але не усуває відсутнього контенту й впливу порога score. min_score не сортує та не є об’єктивною мірою якості рекомендації. Відокремлюйте локальні рішення розмітки від умов API, що відібрали записи. Порівнюючи два періоди, поясніть також одиницю аналізу й причину виключення кожного непридатного тексту.

Один запит отримує одну сторінку максимум зі 100 записами; page обмежений номерами від 1 до 100. Видача має внутрішній порядок _doc, а не порядок за часом чи релевантністю. Локально відсортована таблиця охоплює лише отримані дописи. Якщо великий період досягає межі, коротші інтервали можуть організувати подальшу роботу, але такий поділ не доводить повноти. Збережіть фактичну відповідь до пересування локальної контрольної точки сторінок.

Перевірте фактичний склад кожного періоду

Читайте relation разом із total: eq означає точний підсумок запиту, gte — нижню межу, unknown — відсутність надійного підсумку, можливо null. Точний лічильник не доводить завантаження всіх збігів. Зберігайте повідомлений тип підсумку для кожного періоду, не перетворюючи невідоме значення на нуль. У звіті зазначте реально проаналізовані записи та поясніть виключення, повторювані ідентифікатори й відсутній текст, не заявляючи про повний календар обговорень обладнання.

Зберігайте вихідні відповіді, параметри, час отримання й версію правил розмітки. Повторне опрацювання цих файлів може підтримати відтворюваність вашого локального аналізу; віддалений повтор не обіцяє тих самих дописів. Відповіді плоскі. Якщо parent_id або link_id присутні, клієнт може пов’язати отримані об’єкти, але повне дерево обговорення не гарантується. Ці поля не є фільтрами запиту. Не добудовуйте неспостережені коментарі або відсутні зв’язки за припущенням.

Одна успішна проба, сторінка або повтор коштують один кредит, включно з порожнім результатом. Обробляйте 400 як неправильні параметри, 401 як проблему ключа, 402 як нестачу кредитів, 429 як обмеження частоти. Некоректні запити не списують балансу; збій зовнішнього сервісу повертає резерв. Втрата відповіді клієнтом може статися після платного успіху. /v1/status підтверджує лише статичний опис і відповідь HTTP-застосунку. Звіртеся з документацією, тарифами та сторінкою ключа перед продовженням збору й описуйте періоди як обмежені отримані вибірки.