Як знайти канал каналу RSS на YouTube?


14

YouTube офіційно підтримує канали RSS каналів , але я зіткнувся з серйозними труднощами у пошуку каналу. Використання URL-адреси каналу неможливо принаймні в Thunderbird. Схоже, Firefox наразі не в змозі виявити канал (раніше він працював, але був дещо ненадійним та оновленням сторінки час від часу був необхідним), і Google Chrome не має моєї підтримки RSS, наскільки мені відомо.

Існує метод вручну створити канал , але він може більше не працювати ( channel-external-idсхоже, він не існує в джерелі всіх каналів, channel_idа натомість є):

  1. Переглянути вихідний код сторінки
  2. Шукайте наступний текст: channel-external-id
  3. Отримайте значення для цього елемента
  4. Замініть це значення на цю URL-адресу:

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

Приклад каналу: https://www.youtube.com/user/SesameStreet/videos

Відповіді:


11

Насправді те, що ви запропонували, - це саме RSS-канал, хоч це було трохи змінено з процедури, описаної у вашому запитанні externalId.

Зі сценарієм

Наступний сценарій витягне URL-адресу каналу та виведе його на консоль:

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;
    }
}

Результат:

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

Де його зберегти

  1. Ви можете використовувати його як сценарій користувача (наприклад, з Greasemonkey або Tampermonkey ).
  2. Ви можете використовувати його як закладку .
  3. Скопіюйте код і вставте його в консоль розробника.

Примітка: Якщо ви виберете параметри 1або 2- було б зручніше замінити console.logкоманду alertна отримання спливаючого вікна замість повідомлення на консоль.


Вручну

  1. Відкрийте потрібну сторінку каналу YouTube.
  2. Відкрийте view-sourceцю сторінку (одне з наступних):
    • Ctrl+ U.
    • Клацніть правою кнопкою миші -> View page source.
    • Додайте view-source:до початку URL в адресному рядку.
  3. Шукайте термін externalId
  4. Відразу після нього з'явиться випадковий код (ідентифікатор каналу) у вигляді: UCoookXUzPciGrEZEXmh4Jjg
  5. Додайте код, який ви знайшли як суфікс, https://www.youtube.com/feeds/videos.xml?channel_id=і тепер це ваш канал RSS для цього каналу.

rssUrlна жаль, не існує у джерелі кожного каналу, наприклад, view-source:https://www.youtube.com/channel/UC0YagOInbZxj10gaWwb1Nag/та view-source:https://www.youtube.com/channel/UCEBTfxJ13zkpZVbZTF3aukg.
користувач598527

1
Я перевірю це і вдосконалю свою відповідь, дякую
arieljannai

Я знайшов річ, свою відповідь я оновлю пізніше сьогодні!
arieljannai

@ user598527 Оновлено :)
arieljannai

Дякуємо за оновлення. Мені не вдалося встановити закладку за допомогою стандартного методу (перетягування коду на панель інструментів закладок). На основі мого досвіду починаються закладки javascript:, принаймні, це допоможе в процедурі установки браузера.
користувач598527

1

Спосіб, про який ви згадуєте, наразі працює, але лише за деяких обставин точний текст, який потрібно шукати, - це data-channel-external-id, наприклад, він працює в IE11. Набагато простіше - <channel-id>це ввести URL-адресу каналу, який складається так

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

У будь-якому випадку існує довший підтримуваний спосіб зробити це, і це відображає той факт, що YouTube любить, щоб ви передплачували канали, на які ви хочете зв’язатись через RSS-канал.

Якщо ви підписалися на канал, на який ви шукаєте RSS-канал, ви можете знайти його, вказаний на вашій сторінці Управління підпискою , там ви можете прокручувати вниз до кінця, поки не знайдете кнопку "Експорт у читачі RSS" : натискання на цю кнопку буде дозволяють завантажити XML-файл, який містить назви каналів та RSS-канали для всіх підписаних каналів.

Ці RSS-канали завжди будуть оновлюватися, якщо щось зміниться в способі їх викриття на YouTube.


1

Відкрийте консоль F12і виконайте

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

Я отримую TypeError: window.ytInitialData.metadata is undefined помилку під час роботи в Firefox. Чи повинна ця команда працювати на всіх сторінках каналу?
користувач598527

Гм, схоже, це працює не на всіх сторінках
goweon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.