

# Crie um corpus de transcrições do YouTube a partir de resultados de busca

Para criar um corpus de transcrições do YouTube, você precisa definir as regras da pesquisa, encontrar IDs únicos de vídeos por meio de consultas de busca e associar cada vídeo selecionado a um resultado de legenda ou a uma falha. Um Actor é um programa hospedado que coleta dados. Uma Task é uma configuração de entrada salva. Um corpus é sua coleção final de fontes. A descoberta de vídeos e a extração de legendas são etapas distintas. Um resultado de busca não é uma transcrição, e a ausência de legenda não significa ausência do assunto.

## Configuração da coleta

Use o [YouTube Search Actor](https://apify.com/chronometrica/youtube-search-scraper) para encontrar vídeos e o [YouTube Transcript Actor](https://apify.com/chronometrica/youtube-transcript-scraper) para obter legendas. A Task pública [YouTube Video URLs for Transcript Workflows](https://apify.com/chronometrica/youtube-search-scraper/examples/youtube-video-urls-for-transcripts) tem uma configuração padrão com 2 consultas genéricas, `maxResults: 100`, `resultsPerQuery: 50`, `maxPagesPerQuery: 1`, `searchDistribution: "balanced"`, `includeShorts: true`, `enableQueryExpansion: false`, `enrichWithVideoMetrics: false`, `enrichMissingChannelFields: true` e `maxChannelEnrichmentRequests: 100`.

Para sua verificação piloto, altere a entrada para 1 consulta relevante, `maxResults: 2`, `resultsPerQuery: 2`, `maxPagesPerQuery: 1` e desative o enriquecimento opcional de dados do canal (`enrichMissingChannelFields: false`), a expansão de consultas e as métricas. O parâmetro `maxResults` é compartilhado por toda a execução, enquanto `resultsPerQuery` limita cada busca separadamente.

A saída da busca retorna exatamente os campos: `rootQuery`, `query`, `querySource`, `postId`, `postUrl`, `postType`, `isShort`, `title`, `description`, `channelId`, `channelUrl`, `publishedAt`, `status`, `statusReason` e `observedAt`. Datas de publicação desconhecidas permanecem desconhecidas; não invente datas com base nas posições dos resultados de busca. Uma execução de controle verificada com 2 candidatos termina porque atinge `max_items_reached`, e não porque abrange todo o tema.

Para coletar legendas, forneça URLs diretas de vídeos em `startUrls` para o Transcript Actor. Defina sua política de `preferredLanguages`, escolha `outputFormats=["json"]` e defina `includeFailedInputDetails=true` quando precisar dos detalhes das falhas. A saída retorna exatamente as chaves: `videoId`, `videoUrl`, `transcriptLanguageCode`, `isAutoGenerated`, `segments`, `status` e `scrapedAt`, além das falhas de entrada em OUTPUT. Uma URL exata descoberta e enviada ao Transcript Actor apresentou correspondência com seu `videoId` e com a identificação, o idioma e os tempos da legenda manual em inglês. Essa é uma verificação do fluxo limitada a 1 vídeo, não uma medida da disponibilidade de legendas em todo o tema. A obtenção de legendas depende apenas da disponibilidade de faixas públicas; ela não gera áudio nem traduz faixas indisponíveis. Um vídeo processado com sucesso gera 1 linha no conjunto de dados, mas toda entrada selecionada ainda precisa ter um resultado no registro.

## Método em 8 ações

1. Defina as regras da pesquisa: Antes de buscar, registre suas perguntas de pesquisa, sua política de idiomas, sua política de relevância das datas e suas regras de inclusão ou exclusão. Identifique o que um vídeo precisa explicar para ser útil. Não use contagens de visualizações como substituto da relevância.
2. Execute uma pequena família de consultas: Crie uma pequena família de consultas que cubra diferentes partes da pergunta. Comece com 1 consulta e 2 candidatos. Salve a entrada, o horário da observação, os limites e a saída. Mantenha a expansão de consultas desativada até verificar sua necessidade e seu comportamento.
3. Selecione fontes com base no conteúdo real: Antes de selecionar, examine os títulos, as descrições e o vídeo disponível na fonte. Registre se cada vídeo foi selecionado, excluído ou ficou pendente, junto com o motivo. O título, por si só, não comprova que o vídeo realmente aborda sua pergunta. Datas de publicação ausentes permanecem desconhecidas; não classifique um vídeo como recente apenas por sua posição nos resultados.
4. Normalize a identificação dos vídeos: Normalize seus dados pela identificação exata de cada vídeo e preserve as evidências das consultas e das fontes. Aparições repetidas de um vídeo nos resultados de busca não são vários vídeos distintos. Mantenha cortes ou envios diferentes como IDs de fonte separados, a menos que uma regra justificada do estudo os agrupe.
5. Colete legendas em lotes: Forneça ao Transcript Actor as URLs diretas dos vídeos selecionados em um pequeno lote. Mantenha a política de idiomas escolhida e verifique as falhas na saída. A obtenção de legendas depende da disponibilidade de faixas públicas; ela não gera áudio nem traduz faixas indisponíveis.
6. Crie um registro de resultados de legendas: Crie um registro para cada vídeo selecionado. Registre o ID selecionado, a origem da descoberta, o status, a identificação da legenda obtida, o idioma, o tempo da legenda, a categoria da falha ou o motivo da pendência. Use a saída para associar cada ID selecionado a um resultado: sucesso, falha, sem tentativa ou não resolvido. A contagem apenas das linhas bem-sucedidas do conjunto de dados oculta as entradas que não produziram nenhuma linha.
7. Avalie a qualidade e a cobertura: Avalie a qualidade das faixas de legendas e das fontes para seu estudo. Mantenha a informação de geração automática ou manual e o idioma junto às legendas. Decida se vídeos indisponíveis ou sem correspondência podem ser excluídos sem alterar sua pergunta de pesquisa. Informe essa limitação da seleção, em vez de descartar vídeos sem avisar.
8. Entregue os materiais finais: Entregue sua tabela de seleção de vídeos, seu registro de resultados de legendas e a definição do conjunto de fontes incluídas. Só então aplique os métodos de análise posteriores. Esse conjunto limitado não permite afirmar que representa uma população, demonstra demanda pelo tema ou abrange um canal inteiro.

## Exemplo resolvido de um corpus fictício

Todos os IDs, textos, fontes e estados deste exemplo são inventados. Dois lotes de consultas produzem 8 aparições de candidatos com 6 IDs únicos de vídeos. A consulta 1 encontra os vídeos V1, V2, V3 e V4. A consulta 2 encontra os vídeos V2, V4, V5 e V6. Consolide essas 8 aparições em 6 IDs únicos. Preserve as 2 consultas de origem de V2 e V4 como notas para o leitor.

Durante a avaliação de inclusão, selecione V1, V2, V4 e V5 por abordarem explicitamente a pergunta. Exclua V3 porque é apenas um anúncio. Deixe V6 pendente porque seu conteúdo e o contexto da data não foram verificados. Os 4 vídeos selecionados seguem para a coleta de legendas.

Os resultados da coleta de legendas mostram que V1 tem sucesso com uma faixa manual em inglês, V2 tem sucesso com uma faixa automática em inglês, V4 apresenta uma falha classificada como idioma indisponível e V5 apresenta uma falha de acesso à fonte. O conjunto de dados de legendas contém 2 linhas bem-sucedidas, enquanto o registro abrange todos os 4 IDs selecionados. Dos 4 vídeos selecionados, 2 tiveram sucesso e 2 falharam. V6 estava com a seleção pendente, portanto não foi uma entrada com falha na coleta de legendas, pois nunca foi selecionado nem houve tentativa de coleta.

O corpus final de fontes contém V1 e V2, com as diferenças entre legendas manuais e automáticas preservadas. Ele responde apenas às partes sustentadas por esses vídeos. As perguntas abordadas somente por V4 e V5 permanecem sem resposta ou exigem a busca de outras fontes elegíveis. Não trate isso como precisão das palavras, cobertura de legendas de todos os vídeos do nicho ou taxa de disponibilidade pública. Trata-se apenas da contagem de sucessos entre as entradas selecionadas deste exemplo fictício.

A primeira tabela mostra as 6 linhas de seleção de vídeos únicos.

| ID do vídeo | Origem da descoberta | Status de inclusão | Motivo ou notas |
| --- | --- | --- | --- |
| V1 | Consulta 1 | Selecionado | Explica o tema central com clareza |
| V2 | Consulta 1, Consulta 2 | Selecionado | Aborda a segunda parte da pergunta (as aparições nas consultas são notas para o leitor) |
| V3 | Consulta 1 | Excluído | É apenas um anúncio |
| V4 | Consulta 1, Consulta 2 | Selecionado | Aborda a terceira parte do tema |
| V5 | Consulta 2 | Selecionado | Aborda a quarta parte do tema |
| V6 | Consulta 2 | Pendente | O conteúdo e o contexto da data não foram verificados |

A segunda tabela mostra as 4 linhas do registro de tentativas de coleta de legendas.

| ID selecionado | Origem da descoberta | Status da coleta de legendas | Idioma | Categoria ou motivo da falha |
| --- | --- | --- | --- | --- |
| V1 | Consulta 1 | Sucesso | Inglês | Faixa manual coletada |
| V2 | Consulta 1, Consulta 2 | Sucesso | Inglês | Faixa automática coletada |
| V4 | Consulta 1, Consulta 2 | Falha | Nenhum | Falha classificada como idioma indisponível |
| V5 | Consulta 2 | Falha | Nenhum | Falha de acesso à fonte |

A terceira tabela mostra os 2 registros de fontes de legendas incluídas.

| ID incluído | Status da coleta de legendas | Idioma | Escopo de uso |
| --- | --- | --- | --- |
| V1 | Sucesso | Inglês (manual) | Responde à parte central do tema |
| V2 | Sucesso | Inglês (automática) | Responde à segunda parte do tema |

## Próxima ação

Abra o [YouTube Search Actor](https://apify.com/chronometrica/youtube-search-scraper) e teste sua primeira busca. Depois, consulte a Task salva [YouTube Video URLs for Transcript Workflows](https://apify.com/chronometrica/youtube-search-scraper/examples/youtube-video-urls-for-transcripts) para associar cada vídeo selecionado ao seu resultado no Actor de transcrição [antes de indexá-lo](/pt-BR/articles/blocos-de-transcricoes-do-youtube-para-rag/).

## Fontes e leituras adicionais

- [YouTube Search Actor](https://apify.com/chronometrica/youtube-search-scraper)
- [YouTube Transcript Actor](https://apify.com/chronometrica/youtube-transcript-scraper)
- [Guia de obtenção de legendas](https://chronometrica.com/pt-BR/articles/como-obter-transcri%C3%A7%C3%A3o-do-youtube-e-verificar-legendas-ausentes/)
- [Discussão sobre RAG no Reddit](https://www.reddit.com/r/Rag/comments/1rm7cxi/experiment_turning_youtube_channels_into_ragready/)