Сформулюйте порівняння до перегляду даних
Почніть із конкретного дослідницького питання: як в AskSocialScience просять науково обґрунтувати пояснення у два сусідні тижні? Одиницею нехай буде початковий допис. Заздалегідь вирішіть, чи підходить повідомлення без знака питання або без посилання на наукову працю. Запишіть це до збору, щоб цікава знахідка в одному тижні непомітно не змінила правила для другого. Йдеться про вивчення доступних текстів, а не про вимірювання представництва всієї спільноти.
Запишіть початок і кінець періоду до запиту. from і to приймають дні YYYY-MM-DD у UTC; останній день включений повністю. Якщо питання дослідження прив’язане до місцевого календаря, опишіть переведення меж у UTC. Фільтра за годинами всередині дня немає. Коли місцевий день перетинає межі доби UTC, можна запитати ширший діапазон днів і перевірити часові позначки локально. Це організація роботи, а не доведення повного отримання.
Подія, описана в тексті допису, могла відбутися раніше за його створення. Не змішуйте цих дат під час тлумачення. Незалежний історичний архів не гарантує повного охоплення, розкладу оновлень або незмінного знімка. За видачею не можна встановити, що всі важливі учасники обговорення представлені. Перша часова позначка відповіді не визначає початку історії спільноти, а остання не доводить завершення події. Відсутність запису не слід перетворювати на спостереження про відсутність активності.
Задайте кожному тижню межі UTC
Візьміть GET https://api.redditcollector.com/v1/posts?subreddit=AskSocialScience&limit=3 та додайте &from=2025-03-01&to=2025-03-07 для першого умовного вікна. Для другого задайте from=2025-03-08&to=2025-03-14 і почніть із page=1. Дати описують навчальну вправу, а не відоме охоплення архіву. Формат — YYYY-MM-DD у UTC; день to включено повністю. Приклад із головної без цих параметрів не обмежений датами. Для обох вікон збережіть маршрут, спільноту та критерій включення, змінюючи лише часові межі.
Передавайте X-API-Key: <ключ> або Authorization: Bearer <ключ> із сервера. Сторінка отримання ключа пояснює реєстрацію до оплати. У власному журналі зберігайте маршрут, фактичні дати, спільноту, page, limit і час отримання без секрету. Якщо додаєте q, author чи min_score, запишіть причину. q виконує текстовий пошук; min_score задає числовий поріг, не визначає якості, тональності чи достовірності. Зміна фільтра змінює правила включення до вашої колекції.
Відокремте фільтри від дослідницького кодування
Спершу перегляньте формулювання без q і min_score. Якщо згодом потрібен q, врахуйте правило пошуку: він перевіряє title і text, причому всі слова запиту мають збігтися в одному з цих полів, а не розподілятися між заголовком і текстом. min_score лише відсіює записи за порогом, не впорядковує їх за якістю чи новизною. Власну тематичну позначку та причину вилучення зберігайте окремо від вихідних полів. Архів таких дослідницьких оцінок не надає.
Перевірте HTTP-відповідь і збережіть початкові data, pagination та credits до очищення тексту. Зіставте доступні created_utc з описаним вікном. Відсутні поля й причини вилучення фіксуйте окремо. Часові позначки допомагають перевірити правило включення, але не засвідчують авторства, справжності чи дати описаної події. Якщо питання потребує повного контексту, зазначте, що плоскі записи та наявні parent_id чи link_id не гарантують цілої розмови.
Визначте, коли припинити збір
Для маршрутів вмісту limit і page приймають значення від 1 до 100, одна сторінка за запит. _doc — внутрішній порядок документів, не хронологія чи релевантність. Наступна сторінка не є наступною часовою позначкою. Заздалегідь визначте бюджет запитів та умову зупинки. Поділ дат і локальне усунення повторних ідентифікаторів допомагають організувати збір, але не гарантують вичерпного набору чи унікальності записів між зверненнями.
Читайте total разом із relation: eq — точний підсумок запиту, gte — нижня межа, unknown — відсутність надійного підсумку, можливо null. Зберігайте повернуті has_more та window_exhausted. Порожня глибока сторінка може мати невідомий підсумок; це не доведення нульової історичної активності. /v1/subreddits приймає лише prefix і limit, без page та дат, тому не підтверджує наявності матеріалів спільноти за обраний тиждень.
Кожне успішне отримання коштує кредит, включно з порожніми сторінками та повторами: $1 за 1000, платне поповнення від $50 за 50000 кредитів. Пробні кредити умовні. Некоректний запит не списується, збій джерела повертає резерв; втрата відповіді може статися після оплаченої операції. Локальне вилучення невідповідного запису не повертає вартості. Документація й ціни допоможуть врахувати спроби та розрізняти HTTP 400, 401, 402 і 429. /v1/status підтверджує лише відповідь HTTP-застосунку.
Залиште зрозумілу методичну нотатку
Завершіть роботу нотаткою про метод: чому обрано ці тижні, чому аналізуються початкові дописи, які фільтри застосовано та чому збір зупинено. Розмежуйте кількість отриманих і прийнятих до аналізу записів, зазначте відсутні дати чи контекст. Однакова тривалість вікон і рівні бюджети запитів не роблять добірки репрезентативними. Відмінність тем у зібраних текстах стосується вивченого матеріалу й сама собою не доводить змін у всій спільноті.
Завершіть журнал переліком файлів, рішень обробки, вилучень та обмежень матеріалу. Для повторного локального аналізу використовуйте збережені відповіді, не обіцяючи тотожного віддаленого отримання. У звіті розрізняйте запланований період, спостережувані дати й доступність архіву. Дотримуйтеся застосовних законів і прав третіх осіб під час зберігання, цитування та передачі дослідницьких матеріалів. Доступ через API сам собою не визначає цих обов’язків і не підтверджує наукової достовірності висновків.