Jak uzyskać kanał RSS Youtube po 2015 kwietnia 2015 (bez API v3)?

Teraz, gdy API v2 nie ma, jaki byłby sposób, aby uzyskać prosty kanał RSS kanału, bez v3 API? Jestem otwarty na Yahoo Pipes lub jakiekolwiek obejście, które jest prostsze niż tworzenie aplikacji dla API v3, jeśli celem jest czytnik kanałów. Potrzebuję tylko kanału RSS. Był on dostępny publicznie do tej pory i może przestać w każdej chwili (myślę). Dlaczego więc nie pozwolić na dostęp do niego bez klucza API już.

Author: John Conde, 2015-04-20

15 answers

W Czytnik RSS Sekcja https://support.google.com/youtube/answer/6098135?hl=en istnieje opcja eksportu do pliku OPML Twoich subskrypcji. Następnie, patrząc na zawartość OPML można wyodrębnić kanały, a struktura każdego kanału to:

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

Więc możesz generować nowe kanały z tej struktury, jeśli znasz identyfikator kanału. Tego rodzaju karmy nie dostają " https://youtube.com/devicesupport " błąd, więc spodziewam się, że będą pracuj dalej.

 94
Author: AitorF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-21 08:53:23

Możesz pobrać kanały tak:

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

Ale Obsługiwany format JSON (z dodatkowym parametrem &alt=JSON) nie jest już obsługiwany.

Dodatkowo możesz poprosić o klucz API dla publicznego dostępu do swoich filmów z YouTube z konsoli programisty i uzyskać filmy z YouTube, Listy odtwarzania w formacie JSON w następujący sposób:

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

Więcej informacji z YouTube V3 docs .

 55
Author: Primoz Rome,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-18 22:19:26

W you tube kliknij na subskrypcje po lewej stronie. Spowoduje to otwarcie wszystkich subskrypcji na środku strony. Przewiń w dół, a znajdziesz przycisk Eksportuj do czytnika RSS, który tworzy plik xml wszystkich Twoich subskrypcji . Zrobiłem to i dodałem go do mojego preferowanego czytnika rss feedly.

 10
Author: Halo Jones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-10 08:48:14

Jeśli przeglądasz stronę kanału Youtube, wewnątrz <head> znajdziesz węzeł meta RSS, taki jak ten:

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

To powinno dostarczyć Ci potrzebnych danych.

 6
Author: Matt Way,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-05 23:31:18

Uzyskaj identyfikator kanału, wyszukując atrybut data-channel-external-id w kodzie źródłowym strony kanału YouTube. (dzięki helq).

Ten kod pobierze wszystkie tytuły wideo i identyfikatory z kanału i wrzuci je do tablicy:

$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,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-29 04:22:50

Stworzyłem mały skrypt PHP, który zeskrobuje adres URL Youtube dla linków wideo, a następnie wysyła je jako kanał atom: https://gist.github.com/Skalman/801436d9693ff03bc4ce

Adresy URL takie jak https://www.youtube.com/user/scishow/videos praca.

Zastrzeżenia:

  • narzędzie nie zeskrobuje dat
  • playlisty nie będą zawierały więcej niż 100 filmów
  • listy odtwarzania zawierają link "play all"
  • autor jest poprawnie ustawiony tylko dla kanałów (np. nie playlisty)
  • może Youtube zablokuje cię, jeśli używasz tego zbyt dużo (ale mam nadzieję, że limity są wystarczająco wysokie)
  • Prawdopodobnie jeszcze kilka...
 2
Author: Dan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-21 00:08:50

Istnieją również RSS-Bridge witch może wyodrębnić kanały RSS z wielu serwisów takich jak Twitter, Google+, Flickr, Youtube, Identi.ca, itd.

Źródło: https://github.com/sebsauvage/rss-bridge

Serwer Demo: https://bridge.suumitsu.eu/

 2
Author: Albirew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-20 17:30:08

Spróbuj użyć tego adresu URL: https://www.youtube.com/feeds/videos.xml?user=USERNAME

Działa dobrze dla mnie.

 2
Author: Rolland,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-10 13:52:45

From My Blog Post: http://tcodesblog.blogspot.com/search/label/howtofindyouryoutubechannelfeed


JAK ZNALEŹĆ KANAŁ KANAŁU YOUTUBE

W dawnych czasach, to było łatwe (2009), ale teraz dni jest znacznie trudniej go znaleźć (2012-obecnie). Oto szybki sposób na znalezienie nowego kanału z kanału YouTube. Pamiętaj, aby prawidłowo śledzić listę!
  1. Najpierw znajdź swój identyfikator kanału : możesz to zrobić, przechodząc do swojego kanału YouTube w pulpicie nawigacyjnym

  2. Skopiuj identyfikator kanału : Twój identyfikator kanału można znaleźć podczas odwiedzania kanału YouTube z poziomu Pulpitu nawigacyjnego

  3. Skopiuj swój channel id : skopiuj swój channel ID i zastąp channelidgoeshere poniżej swoim channel id: https://www.youtube.com/feeds/videos.xml?channel_id=channelidgoeshere

  4. Skopiuj cały kanał YouTube i utwórz uproszczony kanał: możesz to zrobić, tworząc krótszy link do kanału w FeedBurner pod adresem http://www.feedburner.com/ (wymaga konta Google. Za darmo.), która jest również częścią Google. Utwórz nowy kanał (wybierz jestem Podcasterem! aby zobaczyć swoje filmy pojawiają się w kanale i aby Twój kanał kompatybilny z innymi czytnikami kanałów, takimi jak: Digg Reader, Apple iPhone Apple News App, Apple iPhone Podcasts App, Feedly, itp.)- Lub-edytuj istniejący, kopiując cały kanał kanału YouTube, a następnie kliknij Zapisz szczegóły kanału jako normalny

  5. Twój kanał YouTube działa teraz, a Twoje filmy można zobaczyć w pliku kanału bezpośrednio na Twoim FeedBurner feed. Mój jest na YouTube jako kanał na https://www.youtube.com/feeds/videos.xml?channel_id=UCvFR6YxwnYfLt_QqRFk_r3g & Na FeedBurner jako {[4] } z moimi filmami, które pojawiają się tylko w formacie tekstowym, jako przykład, ponieważ muszę zaktualizować mój, aby pokazać moje filmy. Możesz zmieniać różne ustawienia w FeedBurner i robić inne rzeczy, więc warto spróbować, ponieważ jest bezpłatny i łatwy w użyciu. Gorąco polecam korzystanie z FeedBurner lub innej usługi tworzenia feedów, jednak FeedBurner jest najlepszym rozwiązaniem, ponieważ zawiera również mechanizm subskrypcji cross-feed (USM - Uniwersalny mechanizm subskrypcji), co oznacza, że Twój kanał może być odczytywany z dowolnego kompatybilnego urządzenia, takiego jak komputer, telefon komórkowy (z zainstalowaną odpowiednią aplikacją), za pośrednictwem starszej przeglądarki internetowej (takiej jak Internet Explorer, który obsługuje Web Slice & RSS/Atom/XML Feeds).

Twój kanał można również otworzyć w aplikacji Apple iPhone Apple News App & Apple iPhone podcasty App Na Apple iPhone, Apple iPod Touch i Apple iPad, Jeśli ustawienia zostały poprawnie ustawione na USM (Universal Mechanizm Subskrypcji). Gdy to nastąpi, Twój kanał może być wyświetlany za pośrednictwem różnych usług i urządzeń.

Twój kanał na FeedBurner pozwala na utworzenie subskrypcji e-mail, animatora nagłówków (który pokazuje, jak link do najnowszego posta) wraz z liczbą subskrybentów, Chicletów i innych fajnych rzeczy.

Mam nadzieję, że ta odpowiedź okaże się przydatna i jeśli chcesz zobaczyć więcej fajnych, niesamowitych praktyk kodowania przeze mnie, zapraszam do odwiedzenia mojej strony T-Codes na http://warrenwoodhouse.webs.com/codes dla dużo więcej rzeczy.

 2
Author: warrenwoodhouse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-14 11:23:58

Stworzyłem tutaj przykład.
http://pipes.yahoo.com/pipes/pipe.info?_id=6eeff0110a81f2ab94e8472620770b11

Możesz uruchomić tę rurę, naciskając "Run Pipe" bez wypełniania klucza API. Ale musisz podać swój własny klucz API i identyfikator kanału (który można uzyskać za pośrednictwem interfejsu channels API) po klonowaniu. Chciał zautomatyzować pobieranie channelId przez nazwę użytkownika YouTube, ale nie jest łatwy do rury.

 1
Author: agektmr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-09 08:12:00

Zrobiłem skrypt wsadowy, który tworzy kanał RSS z nowych filmów subskrypcji. Nie potrzebujesz klucza API. Skrypt wykorzystuje 2 zewnętrzne narzędzia: YouTube-DL i Xidel.

W każdym razie przeczytaj poniższy wątek i przejdź do postu 98 aby pobrać skrypt: http://code.google.com/p/gdata-issues/issues/detail?id=3946#c98

Mam nadzieję, że ktoś koduje to do php, python, javascript, powershell lub bash.

 1
Author: MatrixView,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-11 12:07:07

Myślę, że są pewne zmiany w odpowiedzi na youtube, więc wprowadzam pewne zmiany, aby uzyskać identyfikator kanału z kanału RSS za pomocą 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,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-23 10:19:55

Znalazłem rozszerzenie Chrome o nazwie Youtube RSS-ify , które wstrzykuje ikonę RSS na stronach wideo, kanałów i nawigacji. Tego właśnie szukałem.

Youtube RSS-IFY extension screenshot

Ikony wyglądają tak:

Youtube RSS-IFY RSS icon

 0
Author: Adam Spriggs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-10 11:34:12

Sugerowałbym użycie doskonałego parsera rss. Wiele z nich jest dostępnych, ale możesz spróbować http://simplepie.org / , jeden z najlepszych, których użyłem do moich osobistych projektów.

To dość dobrze udokumentowane kilkoma przykładami.

Przykład użycia

Uwaga: używany kanał YouTube college humor, można go pobrać z samej strony kanału

<?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,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-12 06:18:37

Najprostszy sposób uzyskania ID kanału:

Otwórz Menedżera subskrypcji (lewy panel, poniżej subskrypcje) i kliknij żądanego użytkownika.

Url będzie miał postać: https://www.youtube.com/channel/XXXXXXXXXXXXXXXXX

Więc adres URL kanału powinien być:

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

Uwaga: lepiej używać identyfikatorów kanałów niż nazw użytkowników, ponieważ nazwy użytkowników mogą się zmieniać.

 -1
Author: Protonotarios,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-21 14:55:53