Partage
  • Partager sur Facebook
  • Partager sur Twitter

Shuffle sur YouTube avec Python

Comment influer sur le shuffle avec Python

Sujet résolu
    20 décembre 2016 à 15:22:09

    Bonjour,

    Je souhaiterais utiliser une Raspberry pi comme lecteur de musique, directement connecté à ma playlist YouTube. J'ai une question en ce qui concerne le script python :

    • Je souhaiterais jouer ma playlist en shuffle (aléatoire), et la meilleure solution est d'utiliser la fonction aléatoire de YouTube.

    Shuffle YouTube

    Seul problème, le bouton YouTube n'est pas un lien et lorsque l'on clique dessus, il n'y a aucun changement dans l'URL. 

    Ma question est donc simple : comment différencier une lecture aléatoire d'une lecture normale avec Python ?

    Précision : je ne veux pas faire de random entre les liens des musiques car il faudrait que je change le script à chaque fois que j'ajoute une musique.

    Voila j'espère avoir été clair, je vous remercie de vos réponses

    Vincent

    -
    Edité par Henri Béry 20 décembre 2016 à 15:25:25

    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2016 à 15:46:42

      Analyse ce que fait le bouton grâce aux outils développeur d'un navigateur... Il y a forcément qqchose en JavaScript derrière je pense
      • Partager sur Facebook
      • Partager sur Twitter

      Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

        20 décembre 2016 à 16:13:06

        Bonjour et merci pour ta réponse.

        Voilà ce qui change :

        aria-pressed="true"

        Bouton non cliquéBouton cliqué

        Comment Python peut il interpréter ce changement ? 

        Merci

        -
        Edité par Henri Béry 20 décembre 2016 à 16:16:04

        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2016 à 16:29:06

          Youtube à une api pour python

          https://developers.google.com/youtube/v3/code_samples/python

          • Partager sur Facebook
          • Partager sur Twitter
          "La théorie, c'est quand on sait tout et que rien ne fonctionne.La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.Ici, nous avons réuni théorie et pratique: Rien ne fonctionne... et personne ne sait pourquoi !"Albert Einstein
            20 décembre 2016 à 16:39:37

            J'ai beau avoir cherché je n'ai trouvé aucune solution... Si quelqu'un a une piste je suis toujours preneur !

            -
            Edité par Henri Béry 20 décembre 2016 à 18:49:11

            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2016 à 0:25:32

              Je chrcge et te donne une réponse demain
              • Partager sur Facebook
              • Partager sur Twitter

              Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

                21 décembre 2016 à 10:08:39

                Merci ! Je cherche aussi de mon côté
                • Partager sur Facebook
                • Partager sur Twitter
                  21 décembre 2016 à 13:03:06

                  Est-ce-que tu pourrais poster ton code python que tu as écrit pour le moment ?

                  Alors, je crois que j'ai trouve : lorsque tu cliques sur le bouton suffle, en effet il ne se passe rien sur le moment mais au changement vers la prochaine vidéo, youtube ajoute &shuffle=unnombre. Donc pour jouer ta playlist en mode aléatoire il te suffit de récupérer un nombre entier aléatoire via python et d'ajouter ceci à l'url lors de la lecture de ta playlist : &shuffle=nb_aleatoire_de_python

                  -
                  Edité par Superbowy 21 décembre 2016 à 13:12:32

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

                    21 décembre 2016 à 16:39:41

                    Salut et merci de ta réponse. J'ai essayé cette solution mais il y a un problème. Voici le lien lorsque la playlist est en shuffle : 

                    https://www.youtube.com/watch?v=3T1c7GkzRQQ&index=2&list=PLEpO1beR6dKHOb5VeRh7cbTVcyQLa9tZt&shuffle=108

                    J'ai changé la valur de fin mais c'est toujours le même titre qui revient l'id de la chanson (ici v=3T1c7GkzRQQ) est toujours le même. De plus le paramètre shuffle=nb n'apparait que sur le premier titre... 
                    Merci énormément d'avoir cherché ! 

                    Pour le code python il est on ne peut plus simple, il faut juste lui rajouter le paramètre shuffle 

                    import webbrowser
                    
                    webbrowser.open('https://www.youtube.com/watch?v=XbGs_qK2PQA&list=PLEpO1beR6dKHOb5VeRh7cbTVcyQLa9tZt')



                    -
                    Edité par Henri Béry 21 décembre 2016 à 16:44:08

                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 décembre 2016 à 17:04:55

                      Peut-être que tu n'à pas 108 morceaux dans ta liste.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      "La théorie, c'est quand on sait tout et que rien ne fonctionne.La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.Ici, nous avons réuni théorie et pratique: Rien ne fonctionne... et personne ne sait pourquoi !"Albert Einstein
                        21 décembre 2016 à 17:06:25

                        En fait, la première vidéo est toujours la même, c'est normal mais l'ordre des suivantes changent. Et c'est normal que le paramètre disparaissent après avoir entré le lien avec shuffle. La solution de ton problème est bien là. Tu ne comprends pas ?

                        Voici le code fonctionnel que te propose, je crois qu'il correspond à ce que tu veux ou alors je n'ai pas compris. Les titres sont mélangés et dans un ordre différent à chaque execution du programme. Par contre, la première chanson reste la même, mais cela même quand tu utilises le bouton lecture aléatoire de YouTube.

                        import webbrowser
                        import random
                        
                        nb = random.randint(1,10100)
                        webbrowser.open('https://www.youtube.com/watch?v=XbGs_qK2PQA&list=PLEpO1beR6dKHOb5VeRh7cbTVcyQLa9tZt&shuffle='+str(nb))
                        



                        -
                        Edité par Superbowy 21 décembre 2016 à 17:14:27

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie.

                          21 décembre 2016 à 17:32:05

                          T'es vraiment un génie !! C'est parfait ça marche à la perfection ! Merci à tous pour votre aide.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 décembre 2016 à 17:38:26

                            Ce nombre en fin d'url ressemble à une graine d'initialisation du mode aléatoire (et donc pour une même graine, l'ordre aléatoire des vidéos est la même). J'ai pas testé, ce n'est donc qu'une supposition.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Précepte: Le mieux est l'ennemi du bien
                              21 décembre 2016 à 17:54:38

                              C'est vrai que les titres qui reviennent sont souvent les mêmes mais bon pas d'autres solution
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Shuffle sur YouTube avec Python

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown