Coletar Dados de Vídeos Curtos
Os painéis dos criadores mostram apenas valores acumulados atuais, sem informar os valores de ontem. Para calcular o que foi adicionado a cada dia e detectar mudanças após uma alteração, é necessário tirar um snapshot no mesmo horário todos os dias.
A coleta usa o playwright-cli para se conectar ao Chrome já autenticado do usuário, abrir a página do painel do criador, ler os dados carregados e fechar a aba. É somente leitura: nenhum botão é clicado e nenhuma configuração é alterada.
Preparação
playwright-clie sua extensão Chrome correspondente; Chrome com login nas plataformas que serão coletadas. Para coleta agendada, o Chrome deve permanecer aberto e o computador não pode hibernar.- Coloque um arquivo
video-data.jsonna raiz do projeto de vídeos (baseie-se novideo-data.example.jsonpara modificá-lo):
| Campo | Padrão | Descrição |
|---|---|---|
time | "12:10" | Horário diário da coleta, no formato HH:MM, conforme o fuso horário da máquina |
timezone | Fuso horário da máquina | Define a data que será usada no nome do arquivo de snapshot |
platforms | Coletar as três | Selecione entre douyin, weixin, xiaohongshu |
outDir | data/snapshots | Diretório para os snapshots, relativo à raiz do projeto |
Escolha um horário fixo após a publicação dos vídeos. Os dados nos painéis das plataformas têm atraso; vídeos publicados à noite terão dados mais estáveis na coleta do meio-dia do dia seguinte.
Coleta
Na raiz do projeto, execute (<skill> é o diretório desta skill):
node <skill>/scripts/collect.mjs # Coleta todas as plataformas da configuração
node <skill>/scripts/collect.mjs douyin # Recoleta apenas uma plataforma
- A saída é
<outDir>/<data>.json. Se executado novamente no mesmo dia, os dados são mesclados: os recém-coletados sobrescrevem os antigos, e as plataformas que falharam mantêm os dados já existentes daquele dia. - O arquivo é salvo após a coleta de cada plataforma, portanto, se a execução for interrompida no meio, os dados já coletados não são perdidos.
- Se alguma plataforma falhar, o código de saída será 1 e o terminal mostrará qual plataforma e qual erro.
not_logged_inindica que o login expirou; o usuário deve fazer login novamente no Chrome. Para outros erros, tente executar novamente manualmente (ocasionalmente o Douyin falha temporariamente). - Não execute a coleta enquanto o usuário estiver preenchendo formulários não publicados no Chrome: a coleta abrirá novas abas, podendo roubar o foco do formulário.
Agendamento
node <skill>/scripts/schedule.mjs imprime uma expressão cron e uma linha de crontab com base no horário time. Apenas imprime, não altera a configuração do sistema. Para mudar o horário, altere video-data.json e recrie a tarefa agendada. Duas opções:
- Tarefa agendada nativa do agente (recomendado): Use a expressão cron impressa para criar uma tarefa agendada com o prompt "No diretório <caminho_do_projeto>, execute a coleta de dados de vídeo de
video-data. Reexecute as plataformas que falharem. Informe o número de vídeos e seguidores de cada plataforma.". O agente pode ler erros e fazer recoleta. - Crontab do sistema: O usuário adiciona a linha impressa ao
crontab -e. Os logs serão gravados emcollect.logno diretório de snapshots.
Antes de criar a tarefa agendada ou alterar o crontab, mostre o horário e o comando ao usuário.
O que há no Snapshot
Cada plataforma tem um bloco: account (apelido, seguidores), works[] (id, desc, publishedAt, durationSec, metrics de cada vídeo) e error ou warning. As proporções são sempre decimais (0,55 significa 55%).
| Plataforma | Dados adicionais | Limitações |
|---|---|---|
| Douyin | Últimos 30 dias de vídeos (máx. 12): fontes de tráfego, taxa de clique por capítulo, termos de busca, curva de retenção | Lista de vídeos lê no máximo 5 páginas |
| Weixin Video Account | Tendências diárias de reproduções, curtidas, compartilhamentos e novos seguidores, divididas por fonte | Lista de vídeos lê apenas a primeira página; se houver mais, escreve warning |
| Xiaohongshu | Impressões, taxa de clique na capa, salto de 2s, conclusão de 5s | Coleta apenas notas de vídeo dos últimos 30 dias (máx. 12); se visualizações forem inferiores a 100, não há análise de fontes |
Métricas com definições diferentes não podem ser comparadas diretamente: a perda inicial no Douyin e Xiaohongshu é "taxa de salto de 2s" (2s_bounce_rate), enquanto no Weixin Video Account é "taxa de deslize rápido" (fast_flip_rate).
Visualizar Dados
node <skill>/scripts/stats.mjs organiza todos os snapshots em uma tabela por vídeo: reproduções diárias, novas reproduções, tempo médio de reprodução (em segundos), taxa de conclusão, perda inicial, engajamento e crescimento de seguidores, além das últimas fontes de tráfego, termos de busca e curvas de retenção.
Quando a amostra é pequena, a conclusão é marcada como "amostra insuficiente". Ao comparar dois vídeos, primeiro observe o mesmo número de horas desde a publicação e depois veja o que foi alterado.
O que Informar na Entrega
- Quais plataformas foram coletadas, quantos vídeos e seguidores em cada uma, e qual plataforma falhou (com o motivo).
- O caminho do arquivo de snapshot.
- Ao configurar o agendamento: expressão cron, fuso horário do gatilho e qual tipo de agendamento foi escolhido.