Bagaimana cara menemukan umpan RSS saluran di YouTube?
13
YouTube secara resmi mendukung umpan RSS saluran , tetapi saya menghadapi kesulitan besar dalam menemukan umpan. Menggunakan URL saluran tidak mungkin setidaknya di Thunderbird. Firefox tampaknya saat ini tidak dapat mendeteksi umpan (dulu berfungsi di masa lalu, tetapi agak tidak dapat diandalkan dan menyegarkan laman sesekali diperlukan) dan Google Chrome tidak memiliki dukungan RSS asli untuk pengetahuan saya.
Ada metode untuk membuat umpan secara manual , tetapi mungkin tidak lagi berfungsi ( channel-external-idtampaknya tidak ada di sumber semua saluran, ada di sana channel_id):
Sebenarnya apa yang Anda sarankan, sebenarnya adalah alamat umpan RSS, meskipun sedikit diubah dari prosedur yang dijelaskan dalam pertanyaan Anda, ada string yang benar untuk dicari externalId.
Dengan skrip
Skrip berikut akan mengekstrak URL umpan dan akan menampilkannya ke konsol:
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;
}
}
Catatan: Jika Anda memilih opsi 1atau 2- akan lebih mudah untuk mengganti console.logperintah dengan alertuntuk mendapatkan popup daripada pesan ke konsol.
Secara manual
Buka halaman saluran YouTube yang diinginkan.
Buka view-sourcehalaman itu (salah satu dari yang berikut):
Ctrl+ U.
Klik kanan -> View page source.
Tambahkan view-source:ke awal url di bilah alamat.
Cari istilahnya externalId
Tepat setelah itu, akan ada kode acak (id saluran) dalam bentuk: UCoookXUzPciGrEZEXmh4Jjg
Tambahkan kode yang Anda temukan sebagai sufiks https://www.youtube.com/feeds/videos.xml?channel_id=dan sekarang itu umpan RSS Anda untuk saluran itu.
rssUrlsayangnya tidak ada di sumber setiap saluran, misalnya view-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/dan view-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg.
user598527
1
Saya akan memeriksanya, dan meningkatkan jawaban saya, terima kasih
arieljannai
Saya menemukan hal itu, saya akan memperbarui jawaban saya hari ini!
arieljannai
@ user598527 Diperbarui :)
arieljannai
Terima kasih telah memperbarui. Saya belum dapat menginstal bookmarklet dengan menggunakan metode standar (menyeret kode ke bilah alat bookmark). Berdasarkan pengalaman saya, bookmarklet mulai dengan javascript:, setidaknya itu akan membantu dengan prosedur pemasangan browser.
user598527
1
Metode yang Anda sebutkan saat ini berfungsi, tetapi hanya dalam beberapa keadaan, teks yang tepat untuk dicari adalah data-channel-external-id dan berfungsi di IE11, misalnya. Jauh lebih mudah untuk mendapatkan <channel-id>URL saluran, yang disusun seperti ini
https://www.youtube.com/channel/<channel-id>
Bagaimanapun, ada cara yang jauh lebih didukung untuk melakukan ini, dan itu mencerminkan fakta bahwa YouTube menyukai Anda untuk berlangganan saluran yang ingin Anda tautkan melalui umpan RSS.
Jika Anda berlangganan saluran yang Anda cari umpan RSS, Anda dapat menemukannya terdaftar di halaman Kelola Berlangganan Anda , di sana Anda dapat menggulir ke bawah sampai Anda menemukan tombol "Ekspor dalam pembaca RSS" : mengklik tombol itu akan memungkinkan Anda mengunduh file XML yang memiliki nama saluran dan umpan RSS untuk semua saluran berlangganan.
Umpan RSS itu akan selalu diperbarui jika ada perubahan dalam cara YouTube mengeksposnya.
Saya mendapatkan TypeError: window.ytInitialData.metadata is undefinedkesalahan saat menjalankan di Firefox. Haruskah perintah ini bekerja pada semua halaman saluran?
user598527
Hmm, sepertinya itu tidak berfungsi di semua halaman
rssUrl
sayangnya tidak ada di sumber setiap saluran, misalnyaview-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/
danview-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg
.javascript:
, setidaknya itu akan membantu dengan prosedur pemasangan browser.Metode yang Anda sebutkan saat ini berfungsi, tetapi hanya dalam beberapa keadaan, teks yang tepat untuk dicari adalah data-channel-external-id dan berfungsi di IE11, misalnya. Jauh lebih mudah untuk mendapatkan
<channel-id>
URL saluran, yang disusun seperti iniBagaimanapun, ada cara yang jauh lebih didukung untuk melakukan ini, dan itu mencerminkan fakta bahwa YouTube menyukai Anda untuk berlangganan saluran yang ingin Anda tautkan melalui umpan RSS.
Jika Anda berlangganan saluran yang Anda cari umpan RSS, Anda dapat menemukannya terdaftar di halaman Kelola Berlangganan Anda , di sana Anda dapat menggulir ke bawah sampai Anda menemukan tombol "Ekspor dalam pembaca RSS" : mengklik tombol itu akan memungkinkan Anda mengunduh file XML yang memiliki nama saluran dan umpan RSS untuk semua saluran berlangganan.
Umpan RSS itu akan selalu diperbarui jika ada perubahan dalam cara YouTube mengeksposnya.
sumber
Buka konsol dengan
F12
dan jalankansumber
TypeError: window.ytInitialData.metadata is undefined
kesalahan saat menjalankan di Firefox. Haruskah perintah ini bekerja pada semua halaman saluran?