Как получить RSS-канал канала Youtube после 20 апреля 2015 года (без API v3)?


Теперь, когда API v2 исчез, как можно было бы получить простой RSS-канал канала без API v3? Я открыт для каналов Yahoo или любого обходного пути, который проще, чем создание приложения для API v3, если целью является средство чтения каналов. Мне нужен только RSS-канал. Он был доступен публично до сих пор и может прекратиться в любую минуту (я думаю). Так почему бы больше не разрешать доступ к нему без ключа API.

Author: John Conde, 2015-04-20

15 answers

В Читатель RSS раздел https://support.google.com/youtube/answer/6098135?hl=en существует возможность экспортировать ваши подписки в файл OPML. Затем, просмотрев содержимое OPML, вы можете извлечь каналы, и структура каждого канала такова:

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

Таким образом, вы можете создавать новые каналы из этой структуры, если знаете идентификатор канала. Такого рода каналы не получают "https://youtube.com/devicesupport "ошибка, поэтому я ожидаю, что они собираются продолжать работать.

 94
Author: AitorF, 2015-04-21 08:53:23

Вы можете получить каналы следующим образом:

https://www.youtube.com/feeds/videos.xml?channel_id=CHANNELID
https://www.youtube.com/feeds/videos.xml?user=USERNAME
https://www.youtube.com/feeds/videos.xml?playlist_id=YOUR_YOUTUBE_PLAYLIST_NUMBER

Но формат JSON, который раньше поддерживался (с дополнительным параметром &alt=JSON), больше не поддерживается.

Кроме того, вы можете запросить ключ API для публичного доступа к вашим видео на YouTube с вашей консоли разработчика и получить видео YouTube, плейлисты в формате JSON, например:

- Get Channels: 
  https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails&forUsername={YOUR_USER_NAME}&key={YOUR_API_KEY}
- Get Playlists: 
  https://www.googleapis.com/youtube/v3/playlists?part=snippet%2CcontentDetails&channelId={YOUR_CHANNEL_ID}&key={YOUR_API_KEY}
- Get Playlist Videos: 
  https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails%2Cstatus&playlistId={YOUR_PLAYLIST_ID}&key={YOUR_API_KEY}

Дополнительная информация из Документов YouTube v3.

 55
Author: Primoz Rome, 2016-09-18 22:19:26

В you tube нажмите на подписки на левой панели. Это откроет все ваши подписки в центре страницы. Прокрутите вниз, и вы найдете кнопку "Экспорт в программу чтения RSS", которая создает XML-файл всех ваших подписок. Я сделал это и добавил его в свой любимый канал для чтения rss.

 10
Author: Halo Jones, 2015-05-10 08:48:14

Если вы проверите страницу любого канала Youtube, внутри <head> вы найдете метаузел rss, подобный этому:

<link rel="alternate" 
      type="application/rss+xml" title="RSS"     
      href="https://www.youtube.com/feeds/videos.xml?channel_id=UCn8zNIfYAQNdrFRrr8oibKw">

Это должно предоставить вам необходимые данные.

 6
Author: Matt Way, 2015-08-05 23:31:18

Получите идентификатор канала, выполнив поиск атрибута data-channel-external-id в исходном коде страницы канала YouTube. (благодаря хелку).

Этот код захватит все заголовки и идентификаторы видео из ленты и выгрузит их в массив:

$channel_id = 'XXX'; // put the channel id here
$youtube = file_get_contents('https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id);
$xml = simplexml_load_string($youtube, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$youtube = json_decode($json, true);
$yt_vids = array();
$count = 0;
foreach ($youtube['entry'] as $k => $v) {
    $yt_vids[$count]['id'] = str_replace('http://www.youtube.com/watch?v=', '', $v['link']['@attributes']['href']);
    $yt_vids[$count]['title'] = $v['title'];
    $count++;
}
print_r($yt_vids);
 4
Author: daygloink, 2015-09-29 04:22:50

Я создал небольшой PHP-скрипт, который очищает URL-адрес Youtube для ссылок на видео, а затем выводит их в виде канала atom: https://gist.github.com/Skalman/801436d9693ff03bc4ce

URL-адреса, такие как https://www.youtube.com/user/scishow/videos работа.

Предостережения:

  • Инструмент не удаляет даты
  • Списки воспроизведения не будут включать более 100 видео
  • Списки воспроизведения включают ссылку "воспроизвести все"
  • Автор правильно задан только для каналы (например, не плейлисты)
  • Возможно, Youtube заблокирует вас, если вы будете использовать это слишком часто (но, надеюсь, ограничения достаточно высоки)
  • Вероятно, еще несколько...
 2
Author: Dan, 2015-04-21 00:08:50

Также существует RSS-мост, который может извлекать RSS-каналы из множества сервисов, таких как Twitter, Google+, Flickr, Youtube, Identi.ca, и т.д.

Источник: https://github.com/sebsauvage/rss-bridge

Демонстрационный сервер: https://bridge.suumitsu.eu/

 2
Author: Albirew, 2015-05-20 17:30:08

Попробуйте использовать этот URL-адрес: https://www.youtube.com/feeds/videos.xml?user=USERNAME

Для меня отлично работает.

 2
Author: Rolland, 2015-07-10 13:52:45

Из Моего Поста В Блоге: http://tcodesblog.blogspot.com/search/label/howtofindyouryoutubechannelfeed


КАК НАЙТИ ЛЕНТУ ВАШЕГО КАНАЛА YOUTUBE

В прежние времена это было легко (2009), но сейчас найти его гораздо сложнее (2012 - настоящее время). Вот быстрый способ найти свой новый канал с вашего канала YouTube. Не забывайте правильно следовать списку!
  1. Сначала найдите свой идентификатор канала: Вы можете сделать это, перейдя на свой канал YouTube на панели мониторинга

  2. Скопируйте идентификатор канала : Ваш идентификатор канала можно найти при посещении вашего канала YouTube с панели мониторинга

  3. Скопируйте свой идентификатор канала: Скопируйте свой идентификатор канала и замените идентификатор канала здесь ниже на свой идентификатор канала: https://www.youtube.com/feeds/videos.xml?channel_id=channelidgoeshere

  4. Скопируйте всю ленту канала YouTube и создайте упрощенный канал: Вы можете сделать это, создав более короткую ссылку на канал в FeedBurner по адресу http://www.feedburner.com/ (Требуется учетная запись Google. Бесплатно в использовании.), который также часть Google. Создайте новую ленту (выберите Я подкастер!, чтобы ваши видео появлялись в ленте и чтобы сделать вашу ленту совместимой с другими читателями ленты, такими как: Digg Reader, приложение Apple iPhone Apple News, приложение подкастов Apple iPhone, Feedly и т. Д.) - ИЛИ - отредактируйте существующую, скопировав всю ленту канала YouTube, а затем нажмите Сохранить сведения о ленте как обычно

  5. Ваша лента канала YouTube теперь работает, и ваши видео можно увидеть в файле ленты непосредственно на ваш канал для сжигания корма. Мой находится на YouTube в качестве канала в https://www.youtube.com/feeds/videos.xml?channel_id=UCvFR6YxwnYfLt_QqRFk_r3g и в FeedBurner в качестве http://feeds.feedburner.com/youtube/warrenwoodhouse с моими видео, которые отображаются только в текстовом формате, например, так как мне нужно обновить свой, чтобы показать мои видео. Вы можете изменять различные настройки в FeedBurner и делать другие вещи, поэтому стоит попробовать, так как он бесплатный и простой в использовании. Я настоятельно рекомендую использовать FeedBurner или другую службу создания каналов, однако FeedBurner - ваш лучший выбор, поскольку он также включает механизм подписки на перекрестный канал (USM - Универсальный механизм подписки), что означает, что ваш канал можно читать с любого совместимого устройства, такого как компьютер, мобильный телефон (с установленным правильным приложением), через более старый веб-браузер (например, Internet Explorer, который поддерживает веб-фрагменты и каналы RSS/Atom/XML).

Ваш канал также можно открыть в приложении Apple iPhone "Новости Apple" и приложении "Подкасты Apple iPhone" на вашем Apple iPhone, Apple iPod Touch и Apple iPad, если вы правильно настроили USM (Универсальный Механизм подписки). Как только это вступит в силу, ваш канал можно будет просматривать с помощью различных сервисов и устройств.

Ваш канал в FeedBurner позволяет вам создать подписку по электронной почте, Аниматор заголовков (который показывает вам, как ссылка на последнюю публикацию), а также количество подписчиков, Чиклеты и другие интересные вещи.

Я надеюсь, что этот ответ окажется полезным, и если вы хотите увидеть еще несколько классных потрясающих методов кодирования от меня, пожалуйста, не стесняйтесь посетить мой веб-сайт T-Codes по адресу http://warrenwoodhouse.webs.com/codes для еще много чего.

 2
Author: warrenwoodhouse, 2016-07-14 11:23:58

Я создал пример каналов Yahoo здесь.
http://pipes .yahoo.com/pipes/pipe.info?_id=6eeff0110a81f2ab94e8472620770b11

Вы можете запустить этот канал, нажав "Запустить канал" без заполнения ключа API. Но вы должны предоставить свой собственный ключ API и идентификатор канала (который можно получить через API каналов) при клонировании. Хотел автоматизировать получение идентификатора канала по имени пользователя YouTube, но его нелегко передать по каналу.

 1
Author: agektmr, 2015-05-09 08:12:00

Я создал пакетный скрипт, который создает RSS-канал ваших новых видео по подписке. Вам не нужен ключ API. Скрипт использует 2 внешних инструмента: YouTube-DL и Xidel.

В любом случае, прочитайте следующую тему и перейдите к сообщению 98, чтобы загрузить скрипт: http://code.google.com/p/gdata-issues/issues/detail?id=3946#c98

Я надеюсь, что кто-нибудь закодирует это на php, python, javascript, powershell или bash.

 1
Author: MatrixView, 2015-05-11 12:07:07

Я думаю, что в ответе YouTube есть некоторые изменения, поэтому я внес некоторые изменения, чтобы получить идентификатор канала из rss-канала с помощью Curl.

$channel_id = 'XXXXXXXX'; // put the channel id here

//using curl
$url = 'https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id.'&orderby=published';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
//curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response  = curl_exec($ch);
curl_close($ch);

$response=simplexml_load_string($response);
$json = json_encode($response);
$youtube= json_decode($json, true);

$count = 0;
if(isset($youtube['entry']['0']) && $youtube['entry']['0']!=array())
{
    foreach ($youtube['entry'] as $k => $v) {
        $yt_vids[$count]['id'] = str_replace('http://www.youtube.com/watch?v=', '', $v['link']['@attributes']['href']);
        $yt_vids[$count]['title'] = $v['title'];
        $count++;
    }
}
else
{
    $yt_vids[$count]['id']=str_replace('http://www.youtube.com/watch?v=', '', $youtube['entry']['link']['@attributes']['href']);
    $yt_vids[$count]['title']=$youtube['title'];
}
echo "<pre>";
print_r($yt_vids);
 1
Author: Arshad Shaikh, 2016-09-23 10:19:55

Я нашел расширение Chrome с именем Youtube RSS-ify, которое вставляет значок RSS на видео, каналах и страницах навигации. Это было именно то, что я искал.

Youtube RSS-ify extension screenshot

Значки выглядят следующим образом:

Youtube RSS-ify RSS icon

 0
Author: Adam Spriggs, 2016-05-10 11:34:12

Я бы предложил использовать отличный rss-анализатор. Многие из них доступны, но вы можете попробовать http://simplepie.org /, один из лучших, которые я использовал для своих личных проектов.

Это довольно хорошо документировано с некоторыми примерами.

Пример использования

Примечание: Используемый юмор колледжа на канале YouTube, вы можете получить его на самой странице канала

<?php
include_once('../autoloader.php');
// Parse it
$feed = new SimplePie();
$feed->set_feed_url('https://www.youtube.com/feeds/videos.xml?channel_id=UCPDXXXJj9nax0fr0Wfc048g');
$feed->enable_cache(false);
$feed->init();

$items = $feed->get_items();

foreach ($items as $item)
{
    echo $item->get_title() . "\n";
}

var_dump($feed->get_item_quantity());
 -1
Author: Rinto George, 2016-05-12 06:18:37

Самый простой способ получить идентификатор канала:

Откройте Менеджер подписок (левая панель, внизу под подписками) и нажмите на нужного пользователя.

URL-адрес будет иметь вид: https://www.youtube.com/channel/XXXXXXXXXXXXXXXXX

Таким образом, URL-адрес канала должен быть:

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

Примечание: Лучше использовать идентификаторы каналов, а не имена пользователей, потому что имена пользователей могут измениться.

 -1
Author: Protonotarios, 2016-05-21 14:55:53