Collecter les données des vidéos courtes
Les tableaux de bord des créateurs n'affichent que les valeurs cumulées actuelles, sans montrer les chiffres de la veille. Pour calculer les gains quotidiens et l'impact des modifications, il faut prendre un instantané à la même heure chaque jour.
La collecte utilise playwright-cli pour se connecter au navigateur Chrome déjà authentifié de l'utilisateur, ouvre les pages des tableaux de bord en lecture seule, lit les données chargées, puis les ferme. Aucun bouton n'est cliqué, aucun paramètre n'est modifié.
Préparation
playwright-cliet son extension Chrome associée ; Chrome doit déjà être connecté aux plateformes cibles. Pour une collecte programmée, Chrome doit rester ouvert et l'ordinateur ne doit pas se mettre en veille.- Placez un fichier
video-data.jsonà la racine du projet vidéo (modifiezvideo-data.example.json) :
| Champ | Valeur par défaut | Description |
|---|---|---|
time | "12:10" | Heure de collecte quotidienne, au format HH:MM, selon le fuseau horaire local |
timezone | Fuseau horaire local | Détermine la date utilisée dans le nom du fichier instantané |
platforms | Les trois plateformes | Choisissez parmi douyin, weixin, xiaohongshu |
outDir | data/snapshots | Répertoire des instantanés, relatif à la racine du projet |
Choisissez une heure fixe après l'heure de publication. Les données des tableaux de bord des plateformes sont retardées : pour les vidéos publiées le soir, une collecte le lendemain midi est plus fiable.
Collecte
Exécutez depuis la racine du projet (<skill> est le répertoire de cette compétence) :
node <skill>/scripts/collect.mjs # Collecte toutes les plateformes configurées
node <skill>/scripts/collect.mjs douyin # Collecte uniquement une plateforme (rattrapage)
- Sortie :
<outDir>/<date>.json. Une nouvelle exécution le même jour fusionne les données : celles collectées écrasent les anciennes, les plateformes en échec conservent l'instantané existant du jour. - Chaque plateforme est écrite dans le fichier immédiatement après sa collecte : aucune perte de données en cas d'interruption.
- En cas d'échec d'une plateforme, le code de sortie est 1. Le terminal indique quelle plateforme et quelle erreur.
not_logged_insignifie que la session a expiré : l'utilisateur doit se reconnecter dans Chrome. Pour les autres erreurs, réexécutez manuellement une fois (Douyin a parfois des échecs temporaires). - Ne lancez pas la collecte si l'utilisateur a un formulaire non publié dans Chrome : l'ouverture de nouveaux onglets peut voler le focus du formulaire.
Programmation
node <skill>/scripts/schedule.mjs affiche une expression cron et une ligne crontab basées sur le champ time, sans modifier la configuration système. Pour changer l'heure, modifiez video-data.json puis recréez la tâche planifiée. Deux options :
- Planification intégrée à l'agent (recommandée) : créez une tâche planifiée avec l'expression cron affichée, avec le prompt "dans exécuter la collecte video-data, réessayer les plateformes en échec, signaler le nombre de vidéos et d'abonnés pour chaque plateforme". L'agent peut lire les erreurs et effectuer des rattrapages.
- Crontab système : l'utilisateur ajoute manuellement la ligne affichée dans
crontab -e. Les logs sont écrits danscollect.logdans le répertoire des instantanés.
Avant de créer une tâche planifiée ou de modifier la crontab, montrez d'abord l'heure et la commande à l'utilisateur.
Contenu de l'instantané
Chaque plateforme contient : account (nom d'utilisateur, abonnés), works[] (id, desc, publishedAt, durationSec, metrics de chaque vidéo), et éventuellement error ou warning. Les ratios sont exprimés en décimales (0.55 = 55%).
| Plateforme | Données supplémentaires | Limitations |
|---|---|---|
| Douyin | Sources de trafic (30 derniers jours, max 12 vidéos), taux de clic par section, mots-clés de recherche, courbes de rétention | Liste des vidéos limitée à 5 pages |
| Weixin | Tendances quotidiennes des lectures, likes, partages, abonnements, par source | Liste des vidéos limitée à la première page ; écrit un warning si plusieurs pages |
| Xiaohongshu | Expositions, taux de clic sur la couverture, abandon à 2 secondes, complétion à 5 secondes | Seules les notes vidéo des 30 derniers jours (max 12) ; aucune analyse de source si moins de 100 vues |
Les indicateurs avec des formulations différentes ne sont pas directement comparables : l'abandon initial est appelé "taux de rebond à 2 secondes" sur Douyin et Xiaohongshu, et "taux de défilement rapide" (fast_flip_rate) sur Weixin.
Visualisation des données
node <skill>/scripts/stats.mjs organise tous les instantanés en tableaux par vidéo : lectures quotidiennes, nouvelles lectures, durée moyenne de lecture, taux de complétion, abandon initial, interactions et croissance des abonnés, avec les dernières sources de trafic, mots-clés de recherche et courbes de rétention.
Lorsque l'échantillon est trop petit, la conclusion est marquée "échantillon insuffisant". Pour comparer deux vidéos, comparez d'abord le même nombre d'heures après publication, puis examinez les modifications.
Éléments à fournir lors de la livraison
- Les plateformes collectées, le nombre de vidéos et d'abonnés pour chacune, et les échecs éventuels avec les raisons.
- Le chemin du fichier instantané.
- En cas de programmation : l'expression cron, le fuseau horaire de déclenchement, et la méthode de planification utilisée.