Extraire les commentaires Youtube avec ParseHub

Bonjour à tous et à toutes,

Dans le cadre de mes recherches, j’ai besoin d’extraire tous les commentaires de toutes les vidéos listées ici: https://www.google.com/search?q=« loi+travail »+violence+site:www.youtube.com&lr=lang_fr&hl=fr&as_qdr=all&tbs=lr:lang_1fr,cdr:1,cd_min:3/1/2016,cd_max:10/1/2016&tbm=vid&ei=i0sBXP3tGoqLlwTmlJngDw&start=0&sa=N&ved=0ahUKEwi93-GXrPzeAhWKxYUKHWZKBvw4UBDy0wMIaQ&biw=1366&bih=628&dpr=1

Il y a 200 vidéos, certaines avec plusieurs centaines de commentaires, d’où l’importance d’automatiser tout ça. Malheureusement, j’arrive à obtenir des données (titres, URLs, commentaires, pseudonymes…) mais j’ai surtout besoin de garder la structure globales. En gros, j’ai besoin d’avoir dans mon cvs: Le titre de la vidéo, l’URL, le nom du posteur, la date, le texte de présentation, les commentaires « primaires » avec pour chacun leurs réponses quand il y en a et clairement rattachées.

Vous pensez que c’est faisable? Si oui, quelqu’un peut m’expliquer la procédure? Sinon, y’a t-il un soft / script plus efficace pour cela? Je suis sur Debian, donc les softs Windows-only sont a bannir pour mon cas. Idem pour les trucs payants. Merci pour toute l’aide que vous pourrez m’apporter !

Bonsoir,

Il semble compliqué d’avoir dans ton CVS une structure telle que titre vidéo, URL, nom posteur, date publication, texte présentation ET commentaires avec pour chacun l’auteur, date, les réponses, auteur des réponses, date des réponses…

Car le CVS représente une structure plate avec nombre de colonnes fixes, alors qu’en occurrence là tu vas avoir des relations / cardinalité one to many (1…*) , avec une vidéo liée à plusieurs commentaires possédant eux même plusieurs colonnes. Seul du JSON, ou une structure object te permettrait ici de représenter correctement cette structure/hiérarchie.

Sinon question tools, la communauté doit bien avoir ça dans sa botte magique ? :slight_smile:

1 « J'aime »

Jai trouvé cette chose sur google, en tapant « scrap comments youtube », à voir :thinking:

http://ytcomments.klostermann.ca/

1 « J'aime »

Bonjour et merci beaucoup pour votre réponse !

Je pensais bien que le format CSV poserait problème mais je ne connais pas le format JSON :frowning: donc je me suis dit qu’il serait possible d’obtenir une sorte d’arborescence en CSV qui aurait cette forme là:

|URL | posteur | description | j’aime | commentaires |
|------| ---------- | -------------- | ------- | -------------------- |réponse 1|
|------| ---------- | -------------- | ------- | -------------------- |réponse 1 |réponse 2|
|------| ---------- | -------------- | ------- |commentaire 2|

ect… J’espère que c’est plus clair sous forme graphique… :smiley:
Donc qu’en pensez-vous? Toujours impossible? Si oui, auriez-vous des tuto / vidéo / thread à me conseiller pour débuter avec le JSON?

Merci beaucoup !

Bonjour et merci à vous pour vos réponses. Le site proposé par SashaLobstr montre qu’il est possible d’obtenir un .CSV avec la structure qu’il me faut (cf le fichier sur ce lien: https://drive.google.com/file/d/1Z1baUB9P5Yso_f7M1oUATefc_AY19C9v/view?usp=sharing) malheureusement, je voudrais aussi le texte de la description de la vidéo et le nom du posteur. Donc l’idée, ce serait d’automatiser toute la procédure (car avec http://ytcomments.klostermann.ca/ , je dois rentrer l’url de chacune des 200 vidéos de mon corpus, ce qui est une vraie galère…) en fournissant la liste des URL. Je continue de chercher de mon côté en attendant vos retours! Merci à tous et toutes en tout cas :slight_smile:

Bonjour,

Pour automatiser la procédure complète tu peux te tourner vers des extensions chrome en cherchant simplement « automation »
Par exemple, mais il y en a pleins d’autre : Kantu Browser Automation

https://chrome.google.com/wesbstore/detail/kantu-browser-automation/gcbalfbdmfieckjlnblleoemohcganoc?hl=fr

Description : Modern Open-Source Web Macro Recorder and Selenium IDE. Use it for general web automation, web testing, form filling & web scraping.

Tu as juste à lui indiquer la liste des vidéos à scrapper puis créer une boucle.

  • Qui en première étape va sur la vidéo, copie les données titre, auteur, date, etc. dans un fichier Excel.
  • En seconde étape, aller sur ytcomments, lui faire rentrer l’URL et télécharger le fichier

À la fin tu auras une liste dans l’ordre de traitement de tes 200 vidéos, mais également dans ton dossier téléchargement les 200 vidéos.

Si tu n’arrives à faire la manip que sur une seule vidéo, tu peux créer un fichier HTML (sous Word c’est possible) avec une liste de l’ensemble des vidéos. Puis tu indiques à l’extension de faire l’automatisation sur chacun des éléments de la liste.

Ps : comme indiqué ailleurs, utiliser le csv n’est pas le format le plus adapté pour cette problématique, je pense. Je privilégierais plus le json ou le XML qui sont des structures plus adaptés en arbre/hiérarchie. Mais il faut voir en fonction de ce que tu veux faire de ces données, les analyser dans des graphiques et tableaux Excel ?