Wie finde ich einen Kanal-RSS-Feed auf YouTube?


13

YouTube unterstützt offiziell RSS-Feeds von Kanälen , aber ich habe ernsthafte Schwierigkeiten, den Feed zu finden. Die Verwendung der Kanal-URL ist zumindest in Thunderbird nicht möglich. Firefox scheint derzeit nicht in der Lage zu sein, den Feed zu erkennen (in der Vergangenheit verwendet, aber etwas unzuverlässig, und gelegentlich war eine Aktualisierung der Seite erforderlich), und Google Chrome bietet meines Wissens keine native RSS-Unterstützung.

Es gibt eine Methode zum manuellen Erstellen eines Feeds , die jedoch möglicherweise nicht mehr funktioniert ( channel-external-idscheint nicht in der Quelle aller Kanäle vorhanden zu sein, channel_idsondern gibt es stattdessen):

  1. Zeigen Sie den Quellcode der Seite an
  2. Suchen Sie nach folgendem Text: channel-external-id
  3. Holen Sie sich den Wert für dieses Element
  4. Ersetzen Sie diesen Wert durch diese URL:

https://www.youtube.com/feeds/videos.xml?channel_id=UCBcRF18a7Qf58cCRy5xuWwQ

Beispielkanal: https://www.youtube.com/user/SesameStreet/videos

Antworten:


9

Eigentlich ist das, was Sie vorgeschlagen haben, genau die RSS-Feed-Adresse, obwohl sie ein wenig von der in Ihrer Frage beschriebenen Prozedur geändert wurde, gibt es die richtige Zeichenfolge für die Suche externalId .

Mit Skript

Das folgende Skript extrahiert die Feed-URL und gibt sie an die Konsole aus:

for (var arrScripts = document.getElementsByTagName('script'), i = 0; i < arrScripts.length; i++) {
    if (arrScripts[i].textContent.indexOf('externalId') != -1) {
        var channelId = arrScripts[i].textContent.match(/\"externalId\"\s*\:\s*\"(.*?)\"/)[1];
        var channelRss = 'https://www.youtube.com/feeds/videos.xml?channel_id=' + channelId;
        var channelTitle = document.title.match(/\(?\d*\)?\s?(.*?)\s\-\sYouTube/)[1];
        console.log('The rss feed of the channel \'' + channelTitle + '\' is:\n' + channelRss);
        break;
    }
}

Ergebnis:

The rss feed of the channel 'Sesame Street' is:
https://www.youtube.com/feeds/videos.xml?channel_id=UCoookXUzPciGrEZEXmh4Jjg

Wo kann man es speichern?

  1. Sie können es als Benutzerskript verwenden (mit Greasemonkey oder Tampermonkey z. B. ).
  2. Sie können es als Lesezeichen verwenden .
  3. Kopieren Sie den Code und fügen Sie ihn in die Entwicklerkonsole ein.

Hinweis: Wenn Sie Optionen 1oder 2- auswählen, ist es bequemer, den console.logBefehl durch alertzu ersetzen , um ein Popup anstelle einer Nachricht an die Konsole zu erhalten.


Manuell

  1. Öffne die gewünschte YouTube-Kanalseite.
  2. Öffnen Sie die view-sourceSeite (eine der folgenden):
    • Ctrl+U .
    • Rechtsklick -> View page source .
    • Fügen Sie view-source:am Anfang der URL in der Adressleiste hinzu.
  3. Suchen Sie nach dem Begriff externalId
  4. Unmittelbar danach gibt es einen Zufallscode (die Kanal-ID) in Form von: UCoookXUzPciGrEZEXmh4Jjg
  5. Fügen Sie den Code hinzu, den Sie als Suffix gefunden haben, https://www.youtube.com/feeds/videos.xml?channel_id=und das ist nun Ihr RSS-Feed für diesen Kanal.

rssUrlLeider existiert nicht in der Quelle jedes Kanals, zum Beispiel view-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/und view-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg.
user598527

1
Ich werde es überprüfen und meine Antwort verbessern, danke
Arieljannai

Ich habe das Ding gefunden, ich werde meine Antwort später heute aktualisieren!
Arieljannai

@ user598527 Aktualisiert :)
Arieljannai

Vielen Dank für die Aktualisierung. Ich konnte das Lesezeichen nicht mit der Standardmethode installieren (Code in die Lesezeichen-Symbolleiste ziehen). Nach meiner Erfahrung beginnen Lesezeichen mit javascript:, zumindest hilft dies bei der Installation des Browsers.
user598527

1

Die Methode, die Sie erwähnen, funktioniert derzeit, aber nur unter bestimmten Umständen ist der genaue zu suchende Text Datenkanal-External-ID und funktioniert beispielsweise in IE11. Weitaus einfacher ist es, die so zusammengesetzte <channel-id>URL des Kanals zu erhalten

https://www.youtube.com/channel/<channel-id>

Auf jeden Fall gibt es einen weitaus besser unterstützten Weg, und dies spiegelt die Tatsache wider, dass YouTube Sie dazu bringt, die Kanäle zu abonnieren, die Sie über RSS-Feeds verknüpfen möchten.

Wenn Sie den Kanal abonniert haben, nach dem Sie den RSS-Feed suchen, finden Sie ihn auf Ihrer Seite "Abonnement verwalten" . Dort können Sie ganz nach unten scrollen, bis Sie die Schaltfläche "In RSS-Reader exportieren" finden : Klicken Sie auf diese Schaltfläche Mit dieser Option können Sie eine XML-Datei herunterladen, die die Kanalnamen und RSS-Feeds für alle abonnierten Kanäle enthält.

Diese RSS-Feeds werden immer aktualisiert, wenn sich etwas daran ändert, wie YouTube sie verfügbar macht.


0

Öffnen Sie die Konsole mit F12und führen Sie sie aus

window["ytInitialData"].metadata.channelMetadataRenderer.rssUrl

Ich erhalte den TypeError: window.ytInitialData.metadata is undefined Fehler beim Ausführen in Firefox. Sollte dieser Befehl auf allen Seiten eines Kanals funktionieren?
user598527

Hmm, scheint nicht auf allen Seiten zu
funktionieren
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.