Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

В разделе RSS Reader 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, поэтому я ожидаю, что они продолжат работать.

Ответ 2

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

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 docs.

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

Получить идентификатор канала, выполнив поиск атрибута 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);

Ответ 6

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

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

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

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

Ответ 7

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

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

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

Ответ 9

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


КАК НАЙТИ ВАШ ВАРИАНТ КАНАЛОВ YOUTUBE

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

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

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

  • Скопируйте весь канал канала YouTube и создайте упрощенный канал: вы можете сделать это, создав более короткую ссылку канала в FeedBurner в http://www.feedburner.com/ (требуется учетная запись Google. Бесплатно для использования.), которая также является частью Google. Создайте новый канал (выберите I'm A Podcaster!, чтобы увидеть, как ваши видео появятся в фиде и сделать ваш канал совместимым с другими устройствами чтения каналов, такими как: Digg Reader, Apple iPhone Apple News App, Apple iPhone Podcasts App, Feedly и т.д.) -Изменить существующий, скопировав весь канал канала YouTube, а затем щелкните Сохранить сведения о фиде как обычно

  • Теперь ваш канал канала YouTube работает, и ваши видео можно увидеть в файле фида прямо в фиде FeedBurner. Mine находится на 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 и Apple iPhone подкасты на вашем Apple iPhone, Apple iPod Touch и Apple iPad, если вы правильно настроили настройки для USM (Universal Subscription Mechanism). Как только это будет действовать, ваш канал можно просмотреть через различные службы и устройства.

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

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

Ответ 10

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

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

Ответ 11

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

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

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

Ответ 12

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

Ответ 13

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

Youtube RSS-ify extension screenshot

Иконки выглядят так:

Youtube RSS-ify RSS icon

Ответ 14

Я использовал приведенный ниже код для интеграции Youtube Feed с настраиваемым полем wordpress "ACF plugin" и FancyBox

    <?php  
    $channel_id = get_field('youtube_chanel_id'); //ACF text field
    if ($channel_id){ // if channel_id not empty -- START
    $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);
        echo'<div class="col-md-12 youtube-videos-feed">';  
        foreach ($youtube['entry'] as $k => $v) {
            $id = str_replace(array("yt:video:"), "", $v['id']); // Remove "yt:video:" from ID value
            //$date = $v['updated']; // video updated date (disabled for now)
            $title = $v['title']; // video title
            echo '<a class="with-video" href="https://www.youtube.com/watch?v=',$id,'&autoplay=1&rel=0&controls=0&showinfo=0&modestbranding=0" data-fancybox="videos"  data-caption="',$title,'" title="',$title,'" >
                <div class="col-md-3 main-image post-image img-fancy">
                    <img src="https://img.youtube.com/vi/',$id,'/0.jpg" alt="',$title,'" >
                </div>
            </a>';
        }
        echo'</div>';
    } // if channel_id not empty -- END
 ?>

Ответ 15

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

Ответ 16

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

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

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

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

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

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