Définir question, unité et critères d’inclusion
Pour obtenir un jeu de données Reddit utile, commencez par formuler une question de recherche précise. Vous pouvez explorer comment le mot sampling apparaît dans les enregistrements reçus d’AskStatistics. Cette question décrit une recherche textuelle dans une archive historique indépendante, sans échantillonnage aléatoire des utilisateurs de Reddit. Définissez si vous analyserez publications, commentaires ou les deux, ainsi que les limites qui devront accompagner votre tableau final.
Notez pourquoi vous avez choisi une communauté et des termes. Modifier ces critères change la sélection ; min_score ajoute une condition de score, sans certifier pertinence, fiabilité ou significativité statistique. L’archive peut omettre des enregistrements et du contexte. Une question précise aide à documenter les décisions, mais ne garantit ni couverture, ni absence de biais, ni adéquation des données à toute inférence sur l’ensemble de la communauté.
Choisissez /v1/search pour les deux types, /v1/posts pour les publications et /v1/comments pour les commentaires. kind conserve les valeurs littérales post et comment. Pour un identifiant connu, /v1/item?id=... cherche un enregistrement individuel, qui peut manquer. /v1/subreddits accepte prefix et limit pour des noms commençant par un préfixe, sans découvrir automatiquement des communautés liées par thème ni énumérer un catalogue complet. La documentation détaille les paramètres de chaque route.
Construire la requête et conserver ce qui est arrivé
Commencez par https://api.getredditdata.com/v1/search?q=sampling&subreddit=AskStatistics&limit=3, l’exemple de l’accueil. q recherche sampling, subreddit fixe AskStatistics et limit demande jusqu’à trois enregistrements. Utilisez GET avec X-API-Key: <clé> ou Authorization: Bearer <clé> depuis votre serveur. Obtenir une clé API explique inscription et panneau du compte. Le cookie Secure HttpOnly de ce panneau est distinct de l’authentification utilisée par votre script pour récupérer des données.
Vous pouvez ajouter from et to comme dates YYYY-MM-DD en UTC pour filtrer created_utc. La journée finale est incluse entièrement ; ce n’est pas la date d’entrée dans l’archive. Conservez paramètres et réponse avant de transformer les champs en lignes locales. Un autre analyste qui reçoit votre copie sauvegardée travaille sur cette copie ; répéter la requête distante ne garantit pas les mêmes enregistrements, champs ou ordre.
Définissez les colonnes nécessaires à votre analyse et vérifiez la présence de chaque champ. Séparez informations du document, paramètres de requête et annotations personnelles. Les données sont plates ; parent_id ou link_id présents permettent des associations locales sans discussion complète garantie ni filtres de requête pour ces champs. Une ligne sans texte ne doit pas devenir une citation inventée, et une référence non résolue ne prouve pas que le message indiqué a été récupéré.
Examiner totaux, ordre et budget avant d’élargir
Pour les recherches de contenu, limit et page vont de 1 à 100, avec une page par requête. Lisez total avec relation : eq exprime un total exact pour la requête, gte une borne inférieure et unknown l’absence de total fiable, éventuellement null. Aucun ne prouve que tous les résultats ont été téléchargés ou que l’archive contient toute l’histoire. Gardez les limites rencontrées avec votre tableau plutôt que déclarer une extraction complète.
_doc ne représente ni ordre temporel, ni pertinence, ni score, ni hasard. Un tri local change la présentation, pas la sélection distante. Diviser les périodes ou retirer les doublons peut organiser le travail, sans prouver exhaustivité ou unicité. Traitez HTTP 400 en corrigeant les paramètres, 401 en vérifiant la clé, 402 en consultant le solde et 429 en limitant et espaçant les essais. /v1/status est public et gratuit, mais confirme seulement HTTP et portée statique, sans santé de recherche ni solde.
Chaque récupération réussie coûte un crédit, même vide ou répétée. Les requêtes invalides ne débitent pas le solde ; un échec du service source restitue la réservation. Une réponse perdue côté client peut masquer une réussite facturée et un autre essai réussi coûte un autre crédit. Une erreur de nettoyage ou de stockage local n’annule pas ce coût. Consultez les tarifs : $1 pour 1000 réussites, achat minimal de $50 et 100 crédits d’essai soumis aux contrôles contre les abus.