J'ai de très longues listes de liens/signets YouTube. Je veux créer des playlists pour ma chaîne YouTube avec eux. Est-il possible de le faire automatiquement sans avoir à ajouter chaque URL à une liste de lecture?
Allez dans le gestionnaire de favoris, sélectionnez tous les liens YouTube, copiez-les et collez-les dans un fichier texte, dites you.list
, puis exécutez-le ensuite sur votre terminal (en supposant que vous utilisiez un système Linux):
grep -o 'v=.*' you.list | cut -f2 -d"="| tr '\n' ','
Vous obtiendrez des identifiants vidéo séparés par des virgules, comme par exemple: J6PBD-wNEDs,afwPe_OqPX0,OGcG4jSKOVA,hegL0V4ckco,LajAWn51HmE
.
Copiez ces identifiants et ajoutez-les à http://www.youtube.com/watch_videos? video_ids=
Vous obtiendrez un lien semblable à celui-ci http://www.youtube.com/watch_videos?video_ids=J6PBD- wNEDs,afwPe_OqPX0,OGcG4jSKOVA,hegL0V4ckco,LajAWn51HmE
Ouvrez ce lien dans le navigateur et cela créera une "liste de lecture sans titre". Pour les liens ci-dessus, ce serait https://www.youtube.com/watch?v=J6PBD-wNEDs&list=TLGGDO-k0WVJQ_8yNDA1MjAxNw
Accédez à l'URL de la playlist générée dans ce format:https://www.youtube.com/playlist?list=[PLAYLIST ID]&disable_polymer=true
, qui pour l'exemple ci-dessus serait https://www.youtube.com/playlist?list=TLGGDO-k0WVJQ_8yNDA1MjAxNw&disable_polymer=true
. Appuyez sur les trois points à la droite du titre de la liste de lecture, puis sélectionnez "Ajouter tout à ..." pour ajouter les vidéos à votre propre liste de lecture. Comme @ jet-blue indique, vous devrez peut-être utiliser le paramètre URL &disable_polymer=true
pour afficher l'option "Tout ajouter à ...".
Je suppose que la meilleure façon de répondre à la question consiste à utiliser l’API des développeurs YouTube. https://developers.google.com/youtube/v3/docs/playlists/insert#examples
Référence: http://cects.com/youtube-playlist/
Un petit script python
you.list
.urllib2.urlopen(listOfVideos)
.response.geturl()
.webbrowser.open(playListURL)
.* testé sur Google Chrome
import os, io
import webbrowser
import urllib2
inputFileName = 'you.list'
def ReadMultipleDataFrom(thisTextFile, thisPattern):
inputData = []
file = open(thisTextFile, "r")
for iLine in file:
if iLine.startswith(thisPattern):
iLine = iLine.rstrip()
# print iLine
if ('v=') in iLine: # https://www.youtube.com/watch?v=aBcDeFGH
iLink = iLine.split('v=')[1]
inputData.append(iLink)
if ('be/') in iLine: # https://youtu.be/aBcDeFGH
iLink = iLine.split('be/')[1]
inputData.append(iLink)
return inputData
videoLinks = ReadMultipleDataFrom(inputFileName, "https")
# print videoLinks
listOfVideos = "http://www.youtube.com/watch_videos?video_ids=" + ','.join(videoLinks)
# print listOfVideos
response = urllib2.urlopen(listOfVideos)
playListLink = response.geturl()
# print playListLink
playListLink = playListLink.split('list=')[1]
# print playListLink
playListURL = "https://www.youtube.com/playlist?list="+playListLink+"&disable_polymer=true"
webbrowser.open(playListURL)