Recolectar datos de videos cortos
Los paneles de creadores solo muestran los valores acumulados actuales, sin mostrar los de ayer. Tomar una instantánea a la misma hora cada día permite calcular los incrementos diarios y ver si hubo cambios después de alguna modificación.
La recolección se realiza mediante playwright-cli conectado a un Chrome ya autenticado del usuario, abriendo las pestañas propias para leer los datos cargados por la página de administración, y cerrándolas después. Solo lectura: no se hace clic en ningún botón ni se modifica ninguna configuración.
Preparación
- playwright-cli y su extensión de Chrome correspondiente; Chrome debe tener las sesiones iniciadas en las plataformas que se quieran recolectar. Para recolección programada, Chrome debe permanecer abierto y el ordenador no debe dormirse.
- Colocar un archivo
video-data.jsonen la raíz del proyecto (modificar a partir devideo-data.example.json):
| Campo | Valor predeterminado | Descripción |
|---|---|---|
time | "12:10" | Hora diaria de recolección en formato HH:MM, según la zona horaria local |
timezone | Zona horaria local | Determina la fecha que se usará en el nombre del archivo de instantánea |
platforms | Las tres | Seleccionar entre douyin, weixin, xiaohongshu |
outDir | data/snapshots | Directorio de instantáneas, relativo a la raíz del proyecto |
Elegir una hora fija después de la hora de publicación. Los datos en los paneles de las plataformas tienen retraso; los videos publicados por la noche se recolectan de forma más estable al mediodía del día siguiente.
Recolección
Ejecutar en la raíz del proyecto (<skill> es el directorio de esta habilidad):
node <skill>/scripts/collect.mjs # Recolectar todas las plataformas configuradas
node <skill>/scripts/collect.mjs douyin # Recolectar solo una plataforma
- Salida:
<outDir>/<fecha>.json. Si se vuelve a ejecutar el mismo día, se fusiona: los datos recolectados sobrescriben los anteriores, y las plataformas que fallaron conservan la instantánea existente de ese día. - Cada vez que se completa una plataforma, se escribe el archivo; si la ejecución se interrumpe a medio camino, no se pierden los datos ya recolectados.
- Si alguna plataforma falla, el código de salida es 1; en la terminal se indica qué plataforma y qué error.
not_logged_insignifica que la sesión ha expirado: el usuario debe volver a iniciar sesión en Chrome. Otros errores: primero ejecutar manualmente de nuevo; Douyin puede fallar temporalmente de forma esporádica. - No ejecutar si el usuario tiene formularios sin publicar abiertos en Chrome: la recolección abrirá nuevas pestañas, lo que podría robar el foco del formulario.
Programación
node <skill>/scripts/schedule.mjs imprime una expresión cron y una línea de crontab según time. Solo imprime, no modifica la configuración del sistema. Para cambiar la hora, modificar video-data.json y volver a configurar la tarea programada. Dos opciones:
- Tarea programada nativa del agente (recomendada): crear una tarea programada con la expresión cron impresa y un prompt que diga "Ejecutar la recolección de video-data en , reintentar una vez para las plataformas que fallen, informar el número de obras y seguidores de cada plataforma". El agente puede leer errores y volver a recolectar.
- Crontab del sistema: el usuario añade la línea impresa a
crontab -e. Los registros se escriben encollect.logdentro del directorio de instantáneas.
Antes de crear la tarea programada o modificar el crontab, mostrar primero la hora y el comando al usuario.
Contenido de la instantánea
Cada plataforma incluye: account (nombre, seguidores), works[] (cada obra con id, desc, publishedAt, durationSec, metrics), y error o warning. Todas las proporciones se expresan en decimales (0.55 significa 55%).
| Plataforma | Datos adicionales | Límites |
|---|---|---|
| Douyin | Fuente de tráfico, tasa de clics por sección, palabras de búsqueda, curva de retención de obras de los últimos 30 días (máximo 12 obras) | La lista de obras se lee como máximo 5 páginas |
| Weixin | Tendencias diarias de reproducciones, Me gusta, compartidos y seguidores de la cuenta, desglosadas por fuente | La lista de obras solo lee la primera página; si hay más de una página, se escribe warning |
| Xiaohongshu | Impresiones, tasa de clics en portada, abandono a los 2 segundos, finalización a los 5 segundos | Solo recolecta notas de video de los últimos 30 días (máximo 12 obras); si las visualizaciones son menores a 100, no hay análisis de fuente |
Las métricas con diferentes definiciones no se pueden comparar directamente: la pérdida inicial en Douyin y Xiaohongshu es "tasa de abandono a los 2 segundos", mientras que en Weixin es "tasa de desplazamiento rápido" (fast_flip_rate).
Visualización de datos
node <skill>/scripts/stats.mjs organiza todas las instantáneas por obra en una tabla: reproducciones diarias, nuevas reproducciones, segundos medios de reproducción, tasa de finalización, pérdida inicial, interacciones y crecimiento de seguidores, junto con la última fuente de tráfico, palabras de búsqueda y curva de retención.
Cuando la muestra es pequeña, las conclusiones se marcan como "muestra insuficiente". Al comparar dos videos, primero se considera el mismo número de horas después de la publicación y luego se analiza qué cambió.
Lo que se debe informar al entregar
- Qué plataformas se recolectaron, cuántas obras y seguidores hay en cada una, qué plataforma falló y el motivo.
- La ruta del archivo de instantáneas.
- Al configurar la programación: la expresión cron, la zona horaria correspondiente a la hora de disparo y el tipo de programación utilizado.