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

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

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

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

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

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

 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 .

в трубке щелкните по подпискам в левой панели. Это откроет все ваши подписки в центре страницы. Прокрутите вниз, и вы найдете кнопку «Экспорт в RSS», в которой вы получите xml-файл всех ваших подписчиков. Я сделал это и добавил его в свой предпочтительный rss-ридер.

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

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

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

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

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

 $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); 

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

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

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

  • Инструмент не очищает даты
  • Плейлисты не будут включать более 100 видеороликов.
  • Плейлисты включают ссылку «играть все»
  • Автор правильно настроен только для каналов (например, нет плейлистов)
  • Возможно, Youtube заблокирует вас, если вы слишком много используете (но, надеюсь, ограничения достаточно высоки)
  • Вероятно еще несколько …

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

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

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

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

Прекрасно работает для меня.

Из моего сообщения в блоге: http://tcodesblog.blogspot.com/search/label/howtofindyouryoutubechannelfeed


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

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

  1. Сначала найдите свой идентификатор канала : вы можете сделать это, перейдя на свой канал YouTube в панели управления

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

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

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

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

Ваш фид также можно открыть в Apple iPhone App приложения Apple App и Apple iPhone подкасты на вашем Apple iPhone, Apple iPod Touch и Apple iPad, если вы правильно настроили настройки для USM (Universal Subscription Mechanism). Как только это будет действовать, ваш канал можно просмотреть через различные службы и устройства.

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

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

Здесь я создал пример Yahoo Pipes.
http://pipes.yahoo.com/pipes/pipe.info?_id=6eeff0110a81f2ab94e8472620770b11

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

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

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

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

Я думаю, что есть некоторые изменения в ответе 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); 

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

Youtube RSS-ify расширение скриншот

Значки выглядят так:

Youtube RSS-ify RSS icon

Я бы предложил использовать отличный 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()); 

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

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

URL-адрес будет выглядеть следующим образом: https://www.youtube.com/channel/XXXXXXXXXXXXXXXXX

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

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

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