Extraire les commentaires YouTube en lignes structurées
La section commentaires de YouTube est l'un des rares endroits où un public dit ce qu'il pense sans qu'on le lui demande. Elle est aussi conçue pour le défilement plutôt que pour la lecture : impossible de la trier à sa façon, de la filtrer, ou de comparer une vidéo à une autre. Ce service la transforme en tableau - une ligne par commentaire, avec l'auteur, son identifiant de chaîne, le texte du commentaire, le nombre de mentions J'aime, le nombre de réponses et un indicateur précisant si la ligne est une réponse, exporté en CSV, JSON ou Excel.
Le pilotage est volontairement simple. Collez des identifiants de vidéo ou des URL watch complètes, un par ligne, ou importez un CSV, TXT ou XLSX dont la première colonne sera lue comme votre liste. Une limite s'applique par requête : un seul travail peut donc prendre les cent premiers commentaires de chacune de nombreuses vidéos, ou une section commentaires entière si vous la mettez à zéro. Le tri vous appartient - Top ou Plus récents - et les réponses sont une case distincte, désactivée sauf demande. Le service lit l'interface JSON de YouTube elle-même plutôt que d'analyser le HTML de la page : un changement de mise en page sur le site ne casse donc pas discrètement votre export.
Deux points sur les données méritent d'être connus avant de bâtir dessus. La colonne published n'est pas une date : elle porte le texte relatif que YouTube affiche lui-même, dans l’unité correspondant à l’ancienneté du commentaire - « il y a 1 jour » pour un commentaire récent, « il y a 2 ans » pour un ancien - avec le suffixe « (modifié) » s’il a été modifié ; elle ne s'analysera donc pas comme un horodatage et n'a de sens qu'à côté de la date de votre exécution. Et likes et reply_count arrivent vides plutôt qu'à zéro lorsque rien n'est affiché, ce qui fausse discrètement une somme ou une moyenne si vous ne normalisez pas d'abord. La colonne is_reply contient la chaîne yes ou no plutôt qu'un booléen : testez donc la chaîne.
Une note honnête sur le schéma. L'export tableur compte dix colonnes et le JSON onze - le JSON ajoute position, l'ordre dans lequel la section commentaires est revenue, et convertir le tableur ne le récupère pas. Et parent_author, censée nommer l'auteur auquel une réponse répond, est revenue vide sur chaque ligne de chacune de nos exécutions, y compris les lignes de réponse où elle est le seul champ qui pourrait être renseigné. Elle est documentée parce qu'elle fait partie du schéma déclaré, non parce que nous l'avons vue fonctionner ; vérifiez votre propre export avant d'en dépendre. Commencez gratuitement : vos 500 premières lignes ne coûtent rien et ne demandent aucune carte bancaire. Consultez les tarifs en vigueur.