Communitygithub.com

geoqiao/coleta-videos-curtos

Coleta diária automática de dados de vídeos (reproduções, taxa de conclusão, saltos de 2s ou deslizes rápidos, tempo médio de reprodução, curtidas, salvos, compartilhamentos, comentários, novos seguidores, fontes de tráfego, termos de busca, curva de retenção) dos centros de criadores do Douyin, Weixin Video Account e Xiaohongshu. Os dados são salvos em snapshots nomeados por data e organizados em séries temporais por vídeo, com horário de coleta configurável. Ideal para coleta diária, re-coleta manual, análise de tendências de um vídeo específico ou sumarização de dados antes do relatório semanal.

O que é coleta-videos-curtos?

Essa skill automatiza a coleta de dados de desempenho de vídeos curtos publicados em plataformas como Douyin (抖音), Weixin Video Account (视频号) e Xiaohongshu (小红书). Em vez de mostrar apenas os valores acumulados exibidos nos painéis dos criadores — que não revelam as mudanças em relação ao dia anterior —, a skill tira snapshots diários no mesmo horário, permitindo calcular o incremento diário de cada métrica (visualizações, taxa de conclusão, engajamento, crescimento de seguidores, etc.) e detectar o impacto de alterações no conteúdo. A coleta é feita via `playwright-cli` conectado a um Chrome já autenticado do usuário, apenas lendo os dados (sem clicar ou modificar nada). O horário de coleta é configurado no arquivo `video-data.json`. O usuário pode disparar a coleta manualmente para todas as plataformas ou apenas para uma, e pode agendar a execução automática via cron (recomendado usar o sistema de tarefas do agente para tratamento de erros). Os snapshots são salvos em JSON com data, e um script de estatísticas (`stats.mjs`) organiza os dados em tabelas por vídeo, incluindo métricas diárias, fontes de tráfego, termos de busca e curvas de retenção, alertando quando a amostra é pequena.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/geoqiao/short-video-skills/tree/HEAD/skills/video-data

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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-cli e 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.json na raiz do projeto de vídeos (baseie-se no video-data.example.json para modificá-lo):
CampoPadrãoDescrição
time"12:10"Horário diário da coleta, no formato HH:MM, conforme o fuso horário da máquina
timezoneFuso horário da máquinaDefine a data que será usada no nome do arquivo de snapshot
platformsColetar as trêsSelecione entre douyin, weixin, xiaohongshu
outDirdata/snapshotsDiretó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_in indica 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 em collect.log no 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%).

PlataformaDados adicionaisLimitaçõ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çãoLista de vídeos lê no máximo 5 páginas
Weixin Video AccountTendências diárias de reproduções, curtidas, compartilhamentos e novos seguidores, divididas por fonteLista de vídeos lê apenas a primeira página; se houver mais, escreve warning
XiaohongshuImpressões, taxa de clique na capa, salto de 2s, conclusão de 5sColeta 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.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas