Le code montré dans la vidéo :
https://github.com/pierreminiggio/yt1d-api
Comment automatiser une chaîne Youtube : https://www.youtube.com/watch?v=kl3j6yyydQg
Web scraping Facebook :
https://www.youtube.com/watch?v=UsmybftE36M
Tutoriel web scraping sous-titres Youtube :
https://www.youtube.com/watch?v=kJs7R_3mXYU
https://github.com/pierreminiggio/yt1d-api
Comment automatiser une chaîne Youtube : https://www.youtube.com/watch?v=kl3j6yyydQg
Web scraping Facebook :
https://www.youtube.com/watch?v=UsmybftE36M
Tutoriel web scraping sous-titres Youtube :
https://www.youtube.com/watch?v=kJs7R_3mXYU
Category
📚
ÉducationTranscription
00:00Il y a trois ans, j'avais posté une vidéo pour montrer comment j'avais automatisé une chaîne YouTube.
00:05Et le but de cette chaîne YouTube, c'était de poster une vidéo automatiquement chaque jour,
00:09qui montrait toutes les vidéos YouTube que j'avais regardées dans la même journée.
00:13Et pour automatiser cette chaîne YouTube, j'avais donc besoin de télécharger les vidéos YouTube.
00:17Pour faire ça, j'utilisais un logiciel qui s'appelait YouTubeDL,
00:21qui est sur le site youtubeDL.org,
00:23mais qui malheureusement ne fonctionne plus parce que c'est un site qui a été bloqué
00:28suite à une décision légale et que je ne peux donc plus l'utiliser.
00:31Donc maintenant, il va falloir que je trouve un autre moyen de télécharger des vidéos sur YouTube.
00:35Pour télécharger des vidéos sur YouTube, il y a plein de façons de faire ça.
00:38On peut faire ça avec un paquet de logiciels différents qui existent,
00:42on peut faire ça avec un paquet de sites.
00:43Parce que par exemple, si on tape une petite recherche ici sur Google,
00:46on voit qu'il y a beaucoup de sites qui permettent de le faire.
00:49Et ce que je vais faire dans cette vidéo, c'est que je vais automatiser un de ces sites
00:52pour pouvoir télécharger une vidéo YouTube automatiquement avec du code.
00:57Le site que je vais utiliser, c'est yt1d.com.
01:02Et comme on voit par ici, on peut entrer YouTube, appuyer sur le bouton Rechercher.
01:07Et puis après, une fois que ça a trouvé, on peut choisir la qualité de la vidéo, puis télécharger.
01:12Pour faire ça, je vais utiliser une technique qui s'appelle du web scraping.
01:14J'en ai déjà parlé dans plusieurs de mes vidéos, comme par exemple mes deux vidéos sur Facebook
01:18et une vidéo sur laquelle je récupère le sous-titre du code.
01:22D'ailleurs, cette vidéo-là, elle va être très similaire avec ce qu'on va faire aujourd'hui.
01:25Et le web scraping, ce que ça consiste, ça va être de pouvoir automatiser un navigateur web
01:30qui lui va pouvoir se balader sur un site Internet, qui dans notre cas de figure sera yt1d.com.
01:35Pour faire ça, comme dans beaucoup d'autres vidéos que j'ai faites ou dont je vous ai parlé,
01:39on va utiliser la librairie Puppeteer, qui s'utilise en Node.js,
01:42qui va me permettre de pouvoir lancer un Chromium,
01:45qui est le navigateur sur lequel Google Chrome ainsi que beaucoup d'autres navigateurs sont basés.
01:50Il se trouve que j'ai déjà écrit le code pour faire exactement tout ce que j'ai besoin de faire dans cette vidéo,
01:54mais je vais juste vous montrer au fur et à mesure qu'est-ce qui se passe quand je l'exécute certains bouts du code.
02:00Donc, première chose qu'on va faire, c'est qu'on va devoir lancer un navigateur.
02:04Je vais juste coller ces trois petites lignes de code pour faire attendre le navigateur pour que vous puissiez voir ce qui se passe,
02:09et je vais le lancer.
02:11Donc là, on va utiliser awaitPuppeteerLaunch avec des options,
02:15et on va ensuite ouvrir une page.
02:18Et si je lance ça, on va avoir un navigateur qui va s'ouvrir.
02:22Vous voyez, j'ai un navigateur avec une page vide.
02:26Maintenant, ce qu'on va faire, une fois qu'on a la page, on va aller se déplacer sur le site.
02:30Pour ça, on peut utiliser page.goto.
02:33Et si on relance le code, on va pouvoir voir qu'on va naviguer sur le site.
02:40Et on y est, on est sur le site.
02:42Et ensuite, le but, ça va être d'entrer l'URL en question ici, dans ce sélecteur.
02:50Pour faire ça, on peut aller récupérer l'élément HTML,
02:55et on peut essayer de trouver ce qui permet de le déterminer.
02:57Ici, on voit qu'il y a un ID qui est textURL,
02:59qui est ce que je vais pouvoir utiliser pour pouvoir localiser cet élément sur la page.
03:04Donc on voit que c'est ce que je fais ici, je récupère l'ID textURL,
03:08j'attends que je le voie sur la page,
03:11et ensuite, je le remplis.
03:13Là ici, en modifiant la valeur.
03:15Et une fois qu'on a ça, on va pouvoir se rendre compte que le texte est apparu sur la page.
03:24Je vais le lancer pour vous montrer, après avoir fermé le code.
03:31Et vous voyez, l'URL est bien ici.
03:33Ensuite, la prochaine étape, c'est de cliquer sur le bouton Rechercher, automatiquement évidemment.
03:38Donc une fois de plus, on va regarder quel est un moyen de déterminer ce bouton.
03:44Et on voit que c'est un nouvel ID qui est ButtonSubmit.
03:48ButtonSubmit qui est ici, et ensuite on va cliquer.
03:52Je vais vous montrer ce que ça donne dès qu'on fait ça.
03:58Donc on a cliqué, et on arrive maintenant sur cette page où on a les différentes qualités.
04:03Sauf que moi, la qualité que je veux, c'est le 1080p.
04:05Donc on continue dans la même logique, on va regarder qu'est-ce qui se passe pour déterminer quel bouton est celui-là.
04:11Et on voit qu'il y a le DataFquality128 qui peut être un moyen de le déterminer, et FTypeMP4.
04:18On peut se douter que logiquement ces deux valeurs devraient correspondre à celui-là.
04:23Au départ, j'avais pensé utiliser FQuality128 tout seul,
04:28mais le problème c'est que l'audio qui est un peu plus haut ici, il a la même valeur ici.
04:32Donc on a vraiment besoin de ces deux éléments déterminants.
04:36Pour faire ça, une fois de plus dans le code, vous allez voir que c'est ici le FQuality128 et le TypeMP4.
04:44Sauf que dans mon cas, j'ai rajouté quelque chose d'un peu différent.
04:46J'ai aussi rajouté le fait qu'on scrolle sur la page, et on attend un petit peu.
04:51Ce qui va permettre de laisser du temps à charger.
04:54Et je vais aussi donner un petit peu plus de temps, parce que j'ai remarqué des fois la page met un petit peu de temps à charger.
05:00Donc je fais un système où on essaie une première fois de trouver cet élément.
05:04Et si on ne le voit pas, on attend 10 secondes et on réessaye deux fois de plus.
05:09Ce qui permet de donner assez de temps pour être sûr que ça fonctionne très bien.
05:13Et donc là, ce qu'on va pouvoir faire, c'est qu'on attend juste après ici, et vous allez voir ce qu'il se passe.
05:19Une fois qu'on a cliqué sur ce bouton.
05:28Et on voit que ça a cliqué.
05:30Sauf que vous voyez, ça n'a pas marché du premier coup.
05:34Donc on va devoir attendre une deuxième fois que ça reclique.
05:40Ça a recliqué, et là on voit qu'il y a cette nouvelle pop-up qui existe.
05:44Et une fois qu'elle est ouverte, cette pop-up, on voit qu'il y a un bouton Download Now.
05:48Et si on regarde sur ce bouton, on voit qu'il y a un ID ici, qui permet de le récupérer.
05:53A Download URL, et on voit qu'on a le href qui est un lien de téléchargement directement vers la vidéo.
05:59Pour montrer ça, je vais l'ouvrir dans un nouvel onglet.
06:01Et vous voyez bien, la vidéo est téléchargée.
06:05Donc la suite du code, c'est tout simplement ça.
06:08C'est qu'on vérifie qu'on récupère bien un bouton ici.
06:13Et dès qu'on le trouve, ce bouton, on va récupérer le href.
06:17Et notre href, ça sera le lien que l'on va ensuite retourner à la fin de notre code.
06:22Ce qui fait que maintenant, si je lance mon code.
06:26On va voir le navigateur qui s'ouvre.
06:29Ça scrolle.
06:32Ça y clique.
06:34On voit le bouton téléchargement.
06:36Et on voit que le lien de téléchargement de vidéo est retourné.
06:39Donc voilà comment télécharger automatiquement une vidéo YouTube à partir du code.
06:45A noter à la nuance près, que ce que j'ai récupéré actuellement, c'est uniquement le lien de téléchargement.
06:51Donc après, si on voudrait télécharger en fonction du langage qu'on utilise, de comment on traite ce lien.
06:55Il y a diverses manières de télécharger une vidéo à partir d'un lien.
06:58Mais à partir de ça, on peut télécharger la vidéo et en faire ce qu'on veut avec notre code.
07:03Ensuite, une autre chose que j'ai envie de faire avec ce code.
07:05C'est que là, je vois que je l'exécute en ligne de commande.
07:07Mais mon code, je l'ai hébergé ensuite sur GitHub.
07:10Grâce à un système qui s'appelle des actions.
07:12Ce qui me permet en fait, directement depuis GitHub, de pouvoir télécharger le lien de la vidéo.
07:17Donc là vous voyez, j'ai l'action get link.
07:19Et après, je peux lancer ça.
07:21Et ensuite, je récupère le lien vers ce fichier.
07:24Pour faire ça, c'est quelque chose que je peux faire avec un workflow GitHub.
07:28Donc il y a le fichier Yamed ici, qui montre tout le processus.
07:32Et c'est comme ça que je récupère le lien.
07:34D'ailleurs, GitHub, j'en ai parlé dans d'autres de mes vidéos.
07:38Donc j'ai un tutoriel ici, qui montre comment créer une action GitHub.
07:43Donc je vous invite à aller la voir, si ce sujet là vous intéresse.
07:46Et voilà.
07:48Bon, c'était Pierre, j'espère que ça vous a plu.
07:50Et sur ce, je vous dis à la prochaine.
07:52Allez, salut salut !