Reddit Extract

Faça cada valor de saída apontar para sua origem

Use o exemplo PostgreSQL para registrar origem, tipos e ausências. Teste o conteúdo projetado sobre a resposta salva antes de fazer outra recuperação.

Obter chave API

Guarde a resposta que será examinada

Use https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3 para começar a inspeção. O termo procura conteúdo relacionado a index na comunidade indicada, com até três registros. Não pressupõe que haverá resultados ou que eles resumam a comunidade. Salve a resposta recebida e os parâmetros para trabalhar sobre um lote identificável, sem atribuir ao arquivo uma cobertura que a consulta não demonstra.

Descreva o caminho de cada campo

O mapeamento deve ser compreensível sem executar o código. Para cada coluna, anote a propriedade observada, o tipo aceito, a ação diante de ausência e se o valor é copiado ou derivado. content_source pode ser um marcador local com title ou text; source_page pode vir do seu registro de consultas. Esses nomes pertencem à sua saída, não são novos campos fornecidos pela API.

Decida quais requisitos são realmente do seu destino. Se uma linha sem identificador utilizável não puder ser carregada, separe-a para revisão e registre o motivo. Isso é uma rejeição do seu transformador, não um erro da API. Uma projeção enxuta e documentada permite explicar cada coluna sem sugerir que o servidor exporta ou valida um esquema sob medida.

Registre a escolha entre título e texto

q pesquisa em title e text. Quando há vários termos, eles precisam corresponder juntos dentro de um mesmo campo que satisfaça a busca; distribuí-los entre os dois campos não basta. Para q=index, examine cada campo antes de escolher o conteúdo. Se text não existir, preserve a ausência ou use uma substituição documentada por title com marcador de origem, sem chamá-la de corpo original.

Ao remover espaços ou adaptar quebras de linha de text, crie um campo derivado em vez de sobrescrever silenciosamente o original. Registre a versão do transformador usada no lote. Você poderá comparar versões sobre a mesma resposta salva; não poderá concluir por isso que novas consultas retornam sempre os mesmos registros, na mesma ordem ou com os mesmos valores.

Verifique ausências antes da conversão

Diferencie a falta de uma propriedade, um valor null e uma string vazia. Se o destino só aceita uma dessas representações, considere manter uma coluna auxiliar com o estado original. Assim uma transformação posterior não confundirá dado não fornecido com texto explicitamente vazio. As decisões devem ser iguais para registros comparáveis dentro da mesma versão das suas regras.

Para score, confira o tipo antes de converter e preserve zero quando ele for um valor presente. Para created_utc, teste se o valor recebido pode ser interpretado antes de produzir uma data legível em UTC. Guarde o valor original junto ao derivado quando a rastreabilidade importar. Uma falha nessa conversão não justifica preencher o campo com a data de execução do script.

Explique o destino de cada registro

Compare o número de registros recebidos com os aceitos e os separados para revisão. Essa contabilidade explica o processamento local, mas não estima automaticamente tudo o que existe no arquivo. Se parent_id ou link_id aparecerem, você pode agrupar relações disponíveis, mantendo referências não resolvidas. Não há garantia de que todos os pais ou todos os comentários de uma conversa tenham sido recuperados.

Teste entradas sintéticas claramente identificadas: apenas título, apenas texto, ambos, null explícito e nenhuma das duas propriedades. Confira o valor projetado e seu marcador de origem. Preserve o objeto original e o motivo de rejeição. Se cada registro gerar no máximo uma linha, aceitos e rejeitados devem explicar os registros recebidos, sem representar uma contagem do arquivo inteiro.

Teste o mapeamento local antes de pagar por outra resposta

As buscas usam a ordem interna _doc, que não é cronológica nem classificada por pontuação. limit e page vão de 1 a 100; alcançar a última página permitida não comprova extração completa. Interprete eq como total exato, gte como limite inferior e unknown como ausência de total confiável. Mantenha essas informações separadas das métricas de qualidade do seu esquema.

Consulte a documentação para restringir a busca com filtros reais e os preços para planejar as chamadas. Uma resposta bem-sucedida custa um crédito mesmo se nenhuma linha passar pelas regras locais. Reprocessar um arquivo salvo não faz outra recuperação; uma nova chamada bem-sucedida faz. Essa separação ajuda a testar o mapeamento sem misturar custo de consulta e custo de processamento local.