J'aimerais avoir une liste des noms de toutes les vidéos que j'ai "aimées" sur YouTube.
Jusqu'à présent, j'ai ouvert dans mon navigateur Web la page avec toutes mes vidéos "appréciées" dans la section "playlist". J'ai chargé toute la page puis je suis allé chercher le code source. Avec un script Python, je récupère les noms du fichier JSON que j'ai extrait du code source, mais je n'ai que les 100 premières vidéos.
Script Python:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
# Reading data back
with open('./utubelikes.json', 'r') as f:
data = json.load(f)
videos = data["contents"]["twoColumnBrowseResultsRenderer"]["tabs"][0]["tabRenderer"]["content"]["sectionListRenderer"]["contents"][0]["itemSectionRenderer"]["contents"][0]["playlistVideoListRenderer"]["contents"]
for i in videos:
if (i["playlistVideoRenderer"]["title"].get("simpleText")):
print i["playlistVideoRenderer"]["title"]["simpleText"]
print len(videos)
Une idée sur la façon d'obtenir la liste complète des noms?
Je pourrais aller copier le contenu de la page et le modifier à la main, mais cela prendrait trop de temps (plus de 1000 vidéos).
Takeout permet de télécharger une archive de vos données Google.
Une fois votre archive créée, téléchargez-la et extrayez-la. Vous pouvez trouver un fichier JSON Takeout/YouTube/playlists/_J_aime_.json
qui répertorie tous les noms des vidéos "aimées".
Avec un simple script Python:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
# Reading data back
with open('Takeout/YouTube/playlists/_J_aime_.json', 'r') as f:
data = json.load(f)
for video in data:
print video["snippet"]["title"]