Definire domanda, unità e criteri di inclusione
Prima di iniziare l’estrazione, definisci con precisione la domanda di ricerca. Puoi esplorare come la parola sampling compare nei record ricevuti da AskStatistics. La domanda descrive una ricerca testuale in un archivio storico indipendente, non un campione casuale degli utenti di Reddit. Stabilisci se analizzerai post, commenti o entrambi e quali limiti dovranno accompagnare la tabella finale. Una domanda esplicita rende leggibili le tue scelte.
Annota perché hai scelto una comunità e determinati termini. Cambiare quei criteri modifica la selezione; min_score aggiunge una condizione di punteggio, senza certificare rilevanza, affidabilità o significatività statistica. L’archivio può omettere record e contesto. Una domanda precisa aiuta a documentare le decisioni, ma non garantisce copertura, assenza di distorsioni o idoneità dei dati per qualsiasi inferenza sull’intera comunità.
Scegli /v1/search per entrambi i tipi, /v1/posts soltanto per i post e /v1/comments soltanto per i commenti. kind conserva i valori letterali post e comment. Per un identificatore noto, /v1/item?id=... cerca un record individuale, che può mancare. /v1/subreddits accetta prefix e limit per nomi che iniziano con un prefisso, senza scoprire automaticamente comunità correlate per argomento o elencare un catalogo completo. La documentazione specifica i parametri di ogni percorso.
Costruire la richiesta e conservare ciò che è arrivato
Inizia da https://api.getredditdata.com/v1/search?q=sampling&subreddit=AskStatistics&limit=3, l’esempio iniziale. q cerca sampling, subreddit fissa AskStatistics e limit chiede fino a tre record. Usa GET con X-API-Key: <chiave> oppure Authorization: Bearer <chiave> dal server. Ottieni una chiave API spiega registrazione e pannello account. Il cookie Secure HttpOnly di quel pannello è distinto dall’autenticazione usata dal tuo script per recuperare dati.
Puoi aggiungere from e to come date YYYY-MM-DD in UTC per filtrare created_utc. Il giorno finale è incluso per intero: non è la data di ingresso nell’archivio. Conserva parametri e risposta prima di trasformare i campi in righe locali. Se un altro analista riceve la tua copia salvata, lavorerà su quella copia; ripetere la query remota non garantisce gli stessi record, campi o ordine.
Definisci le colonne necessarie all’analisi e controlla se ogni campo è presente. Separa informazioni del documento, parametri di query e annotazioni personali. I dati sono piatti; parent_id o link_id presenti permettono associazioni locali, senza conversazione completa garantita o filtri di query per quei campi. Una riga senza testo non deve diventare una citazione inventata e un riferimento non risolto non dimostra che il messaggio indicato sia stato recuperato.
Controllare totali, ordine e budget prima di ampliare
Nelle ricerche di contenuto, limit e page vanno da 1 a 100, con una pagina per richiesta. Leggi total con relation: eq esprime il totale esatto della query, gte un limite inferiore e unknown l’assenza di un totale affidabile, eventualmente null. Nessuno prova che tutti i risultati siano stati scaricati o che l’archivio contenga tutta la storia. Conserva i limiti incontrati accanto alla tabella invece di dichiarare un’estrazione completa.
_doc non rappresenta ordine temporale, rilevanza, punteggio o casualità. Un ordinamento locale cambia la presentazione, non la selezione remota. Suddividere periodi o rimuovere duplicati può organizzare il lavoro, senza provare esaustività o unicità. Gestisci HTTP 400 correggendo parametri, 401 verificando la chiave, 402 consultando il saldo e 429 limitando e distanziando tentativi. /v1/status è pubblico e gratuito, ma conferma solo HTTP e una dichiarazione statica, senza salute della ricerca o saldo.
Ogni recupero riuscito costa un credito, anche vuoto o ripetuto. Le richieste non valide non addebitano saldo; un errore a monte restituisce la prenotazione. Perdere la risposta nel client può nascondere un successo addebitato e un altro tentativo riuscito costa un altro credito. Un errore di pulizia o scrittura locale non annulla il costo remoto. Consulta i prezzi prima di ampliare: $1 per 1000 successi, ricarica pagata minima di $50 e 100 crediti di prova soggetti ai controlli contro gli abusi.