web-dev-qa-db-fra.com

Est-il possible de récupérer les noms de toutes mes "vidéos préférées" de mon compte YouTube?

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).

4
tepn

Takeout permet de télécharger une archive de vos données Google.

  • Sélectionnez YouTube
  • Listes de lecture précises
  • Choisissez le format JSON
  • Cliquez sur Suivant'

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"]
4
tepn