Как получить Канал Youtube RSS-канал после 2015 20 апреля (без V3 API)?
теперь, когда API v2 ушел, каков был бы способ получить простой RSS-канал канала без API v3? Я открыт для Yahoo Pipes или любого обходного пути, который проще, чем создание приложения для API v3, если целью является средство чтения каналов. Мне нужен только RSS-канал. Он был доступен публично до сих пор, и он может прекратиться в любую минуту (я думаю). Так почему бы не позволить доступ к нему без ключа API больше.
15 ответов:
At 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 " ошибка, так что Я ожидаю, что они будут продолжать работать.
вы можете получить каналы вроде этого:
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.
в You tube нажмите на подписки на левой панели. Это откроет все ваши подписки в центре страницы. Прокрутите вниз, и вы найдете кнопку Экспорт в RSS reader, которая создает xml-файл всех ваших подписок . Я сделал это и добавил его в свой предпочтительный RSS-ридер feedly.
Если вы проверяете любую страницу канала 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. (спасибо хелк).
этот код захватит все заголовки видео и идентификаторы из ленты и сбросит его в массив:
$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-каналов-мостов ведьма может извлечь RSS-каналы с большим количеством услуг, таких как Twitter, Гугл+, Фликр, Ютуб, Отож.Калифорния и т. д.
источник: 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
КАК НАЙТИ СВОЙ КАНАЛ НА YOUTUBE
В прежние времена это было легко (2009), но теперь дни гораздо труднее найти его (2012-настоящее время). Вот быстрый способ найти свой новый канал с вашего канала YouTube. Не забудьте правильно следовать списку!
сначала найдите свой ID канала: вы можете сделать это, перейдя на свой канал YouTube в Приборная панель
скопировать ID канала: ваш ID канала можно найти при посещении вашего канала YouTube из Панели Управления
скопировать ID канала: скопировать ID канала и заменить channelidgoeshere ниже с вашей ID канала:
https://www.youtube.com/feeds/videos.xml?channel_id=channelidgoeshereскопируйте весь канал канала YouTube и создайте упрощенный feed: вы можете сделать это, создав более короткую ссылку на канал в FeedBurner по адресу
http://www.feedburner.com/(требуется учетная запись Google. Бесплатно использовать.), который также является частью Google. Создайте новый канал (выберите Я подкастер! чтобы ваши видео отображались в ленте и чтобы ваш канал был совместим с другими читателями ленты, такими как: Digg Reader, Apple iPhone Apple News App, Apple iPhone Podcasts App, Feedly и т. д.)- Или-отредактируйте существующий, скопировав весь канал YouTube, а затем нажмите сохранить Подробности Подачи как обычноваш канал канала YouTube теперь работает, и ваши видео можно увидеть в файле фида непосредственно на вашем канале FeedBurner. Мой находится на YouTube в качестве канала в
https://www.youtube.com/feeds/videos.xml?channel_id=UCvFR6YxwnYfLt_QqRFk_r3g& в FeedBurner ashttp://feeds.feedburner.com/youtube/warrenwoodhouseС моими видео, которые отображаются только в текстовом формате, например, так как мне нужно обновить мои, чтобы показать мои видео. Вы можете изменить различные настройки в FeedBurner и делать другие вещи, так что стоит попробовать, так как это бесплатно и легко в использовании. Я очень рекомендую используя FeedBurner или другой корм создания сервиса, однако, FeedBurner является лучшим вариантом, поскольку она также включает поперечные подачи подписки на услугу механизм (УСМ - универсальный механизм подписки), что означает, что ваш канал может быть прочитан с любого совместимого устройства, такого как компьютер, мобильный телефон (с правильным приложением установлен), через старый веб-браузера (такого как Internet Explorer, который поддерживает веб-фрагменты & РСС/Атом/XML-каналы).ваш канал также может быть открыт в Apple iPhone Apple News App & Apple iPhone Podcasts App на вашем Apple iPhone, Apple iPod Touch и Apple iPad, если вы правильно установили настройки в USM (универсальный механизм подписки). Как только это вступит в силу, ваш канал можно будет просматривать с помощью различных служб и устройств.
ваш канал на FeedBurner позволяет создать подписку по электронной почте, заголовок аниматор (который показывает вам, как ссылка на последний пост) наряду с тем, сколько подписчиков, Chiclets и другие прохладно материал.
Я надеюсь, что этот ответ окажется полезным, и если вы хотите увидеть некоторые более интересные удивительные практики кодирования от меня, пожалуйста, не стесняйтесь проверить мой сайт T-коды на
http://warrenwoodhouse.webs.com/codesдля многих других вещей.
Я создал пример Yahoo трубы here.
http://pipes.yahoo.com/pipes/pipe.info?_id=6eeff0110a81f2ab94e8472620770b11вы можете запустить эту трубу, нажав "Run Pipe" без заполнения ключа API. Но вы должны предоставить свой собственный ключ API и идентификатор канала (который может быть получен через API каналов) при клонировании. Хотел автоматизировать выборку channelId по имени пользователя 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 на видео, канал и страницы навигации. Это было именно то, что я искал.
иконки выглядят так:
Я бы предложил использовать отличный 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Примечание: лучше использовать идентификаторы каналов, а не имена пользователей, потому что имена пользователей могут измениться.


Comments