YouTube Später ansehen CSV

YouTube 'Später ansehen' als CSV exportieren

Ich habe ein JavaScript-Skript geschrieben, um YouTube 'Später ansehen' (Watch Later) Daten als CSV zu exportieren, und teile es hier. Funktion: Speichert die Videoliste von der 'Später ansehen'-Seite als CSV im Format Titel,URL.

Shou Arisaka
3 Min. Lesezeit
22. Nov. 2025

Ich habe ein JavaScript-Skript geschrieben, um YouTube ‘Später ansehen’ (Watch Later) Daten als CSV zu exportieren, und teile es hier.

Funktion: Speichert die Videoliste von der ‘Später ansehen’-Seite als CSV im Format Titel,URL.

Watch Later - YouTube

Fehler: Die Reihenfolge ist zufällig.

Verwendung: Gehen Sie zur ‘Später ansehen’-Seite, öffnen Sie die Chrome-Entwicklertools und kopieren Sie den folgenden Quellcode. Hinweis: Sie sollten einige Sekunden warten, bevor Sie nur den letzten console.save(csv,'result.csv') ausführen.


function getElementsByXPath(xpath, parent)
{
  let results = [];
  let query = document.evaluate(xpath,
      parent || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  for (let i=0, length=query.snapshotLength; i<length; ++i) {
    results.push(query.snapshotItem(i));
  }
  return results;
}

(function(console){

    console.save = function(data, filename){

        if(!data) {
            console.error('Console.save: No data')
            return;
        }

        if(!filename) filename = 'console.json'

        if(typeof data === "object"){
            data = JSON.stringify(data, undefined, 4)
        }

        var blob = new Blob([data], {type: 'text/json'}),
            e    = document.createEvent('MouseEvents'),
            a    = document.createElement('a')

        a.download = filename
        a.href = window.URL.createObjectURL(blob)
        a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
        e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
        a.dispatchEvent(e)
    }
})(console)

var absolutePath = function(href) {
    var link = document.createElement("a");
    link.href = href;
    return link.href;
}

var xpath = '//*[@id="content"]/a' ;
var csv ;

for (i = 1; getElementsByXPath(xpath).length; i++) {
    text = getElementsByXPath('//*[@id="content"]/a/div/h3/span')[i].getAttribute("title");

    text = text.replace(/,/g, "、");
    text = '"' + text + '"'
    csv += text
    csv += ','
    // csv += "\n" ;

    text = getElementsByXPath(xpath)[i].getAttribute("href")
    text = absolutePath(text) ;

    text = text.replace(/,/g, "、");
    text = '"' + text + '"'
    csv += text
    // csv += ','
    csv += "\n" ;
}

console.save(csv,'result.csv')

Dieses JavaScript-Programm ruft Elemente basierend auf einem bestimmten XPath-Pfad auf einer Webseite ab, extrahiert Daten aus diesen Elementen und speichert sie in einer CSV-Datei. Hier ist eine Schritt-für-Schritt-Erklärung des Programms.

  1. getElementsByXPath-Funktion:

    • Eine Funktion, die einen XPath-Ausdruck und ein übergeordnetes Element empfängt und Elemente abruft, die dem angegebenen XPath entsprechen.
    • Verwendet document.evaluate, um den XPath auszuwerten und passende Elemente abzurufen.
  2. (function(console){...})(console)-Teil:

    • Code zur Erweiterung der console.save-Funktion.
    • Die console.save-Funktion fügt eine benutzerdefinierte Funktion zum Speichern von Daten in einer Datei hinzu.
  3. absolutePath-Funktion:

    • Eine Funktion zur Konvertierung relativer URLs in absolute URLs.
    • Konvertiert die gegebene relative URL mit einem <a>-Element in eine absolute URL und gibt sie zurück.
  4. xpath-Variable:

    • Gibt den XPath-Ausdruck an. Dieser XPath-Ausdruck dient zum Extrahieren von <a>-Elementen auf der Seite auf eine bestimmte Weise.
  5. csv-Variable:

    • Eine Variable zum Speichern von CSV-Daten.
  6. for-Schleife:

    • Führt eine Schleife bis getElementsByXPath(xpath).length aus. Dieser Teil ist eine Bedingung, um zu loopen, bis die Anzahl der Elemente 0 wird.
  7. Verarbeitung innerhalb der Schleife:

    • Verwendet getElementsByXPath('//*[@id="content"]/a/div/h3/span')[i].getAttribute("title"), um Titeltext vom angegebenen XPath abzurufen.
    • Die abgerufenen Textdaten werden als CSV-Zelle durch Kommas (,) getrennt zur csv-Variable hinzugefügt. Die Textdaten werden in doppelte Anführungszeichen eingeschlossen.
    • Verwendet getElementsByXPath(xpath)[i].getAttribute("href"), um die relative URL des Links aus dem “href”-Attribut des Elements abzurufen.
    • Konvertiert die relative URL mit der absolutePath-Funktion in eine absolute URL, schließt sie in doppelte Anführungszeichen ein und fügt sie zur csv-Variable hinzu.
    • Trennt Zellen mit Kommas und fügt am Zeilenende einen Zeilenumbruch (\n) hinzu.
  8. console.save(csv, 'result.csv'):

    • Verwendet die console.save-Funktion, um den Inhalt der csv-Variable als CSV-Datei herunterzuladen. Der Dateiname ist ‘result.csv’. Diese Funktion ist benutzerdefiniert und dient zum Speichern von CSV-Daten in einer Datei.

Dieses Programm ruft Titel und Links von Elementen ab, die dem angegebenen XPath entsprechen, und speichert sie in einer CSV-Datei.

Diesen Artikel teilen

Shou Arisaka 22. Nov. 2025

🔗 Links kopieren