YouTube oynatma listelerimi nasıl dışa aktarırım?


43

YouTube sık kullanılanlar listemdeki videoları düzenli aralıklarla silmeyi seviyor:

silinen videolar hakkında uyarı

Ama bana ne olduklarını söylemeyi reddediyorlar böylece başka bir kopyasını bulabilirim.

YouTube çalma listelerimi dışa aktarmanın bir yolunu istiyorum; böylece periyodik olarak farklılaştırabilir ve silinen şarkıların diğer kopyalarını el ile bulabilirim.

Çalma listelerimi (veya bir çalma listesini) YouTube'dan nasıl dışa aktarabilirim?


1
Bazı nedenlerden dolayı, çalma listesini bir Android telefonda görüntülemek, silinen videoların adlarını vermeye devam edecektir!

Yanıtlar:


18

Bildiğim kadarıyla, bunu Youtube'da yapmanın bir yolu yok.

Elbette, tüm çalma listelerinizi aşağıdakileri kullanarak xml'de kolayca almak için Youtube API'sini kullanabilirsiniz:

https://gdata.youtube.com/feeds/api/users/[YOUR_USER_NAME]/playlists?v=2

Örnek: https://gdata.youtube.com/feeds/api/users/oisinorion/playlists?v=2

Bu xml dosyası, Video URL’leri ve başlıkları da dahil olmak üzere her bir oynatma listesinin ayrıntılarını almak için kullanabileceğiniz, oynatma listelerinizin her biri için benzersiz kimliklere sahip olacaktır. Aşağıdaki API çağrısı size tekrar bir xml dosyası verecek:

https://gdata.youtube.com/feeds/api/playlists/[UNIQUE_ID]?v=2

Örnek: https://gdata.youtube.com/feeds/api/playlists/D5F03C2BE1AA3E7E?v=2

Bununla birlikte, bu XML dosyalarıyla manuel olarak çalışmak kabus olurdu. Bu XML dosyalarından ilgili bilgileri çıkarmak ve sunmak için küçük bir web uygulaması (web programlama biraz biliyorsanız) oluşturmak en iyisidir.

API hakkında daha fazla bilgiyi burada bulabilirsiniz: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists


2
Yalnızca ilk 25 öğenin varsayılan olarak döndürüldüğü görülüyor. max-results=xURL’ye ekleyebilirsiniz , ancak x> 50 reddedilir. start-index=...Sonuçları sayfalamak için ekleyin .
lunakid

2
Bu cevap eski görünüyor. Youtube API şimdi 3.0.
Jay M,

15

Bunu daha kolay hale getirelim mi?

Git: http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Oluşturmak istediğiniz oynatma-url'sini excel formatında koyun, hepsi bu :)

İşte nasıl göründüğü bir önizleme. Üzgünüz bulunan kısa film oynatma listemi 2 bağlantı göndermeye yetecek kadar kredi vermedi görüntü tanımını buraya girin

Oluşturan: 'Web uygulamamın yaptığı tek şey yayın verilerini almak için YouTube geliştiricisinin API'sini kullanmak. Aynı şeyi kendiniz de yapabilirsiniz ama karmaşık bir XML biçiminde olur ve çok okunmaz olmaz. Bence çoğu insan bir Excel elektronik tablosunda olmasını tercih ederdi. Microsoft Office'iniz yoksa Open Office'i ücretsiz olarak indirebilirsiniz. '


1
Bu favori ve sevilen hariç tüm çalma listeleri için çalışıyor.
tobylane 10:15

ÇOK TEŞEKKÜRLER, 2 gündür bunu yapmak için herhangi bir yol arıyordum ve bununla ilgili çevrimiçi modası geçmiş bir bok var. Bu site mükemmel çalıştı. (sadece biraz yavaş ama yine de <2 gün!) @tobylane Likedilgilendiğim tek liste ve mükemmel çalıştı.
ashleedawg

@ tobylane, sık kullanılanlar için çalışır. Sevdiğim için test etmedim.
Fermi paradoksu

9

V2'nin kullanımdan kaldırılması ışığında mevcut cevap artık işe yaramıyor. v3 yeni versiyondur.

Dokümantasyon linki - https://developers.google.com/youtube/v3/docs/playlistItems/list

Bu sadece 50 sonuçla sınırlıdır. Aşağıdakileri doldurun

Örnek bağlantı - https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxx=key=yyyy


7

İstediğin şeyi başarmanın en zarif yolu bu değil, işte sana daha önce kullandığım manuel bir yöntem. Powershell'i bunun bir parçası olarak kullandığım için, bir Windows makinesinde olduğunuzu farz ediyorum.

Adımlar:

  1. Google Paket Servisi'ne git
  2. Verilerinizi İndirme sayfasında, Youtube dışındaki her şeyin seçimini kaldırın.
  3. Youtube’u genişletin ve "YouTube verileri" altında "Belirli verileri seçin" i seçin, ardından "YouTube verileri" düğmesini tıklayın ve sadece "Oynatma Listeleri" ni seçin, ardından "Abonelikler" açılır menüsünü "JSON" olarak değiştirin, ardından İleri'yi tıklayın.
  4. Hazır olduğunuzda Paket Verilerinizi indirin ve istediğiniz yere çıkartın
  5. Bir Powershell oturumu açın ve aşağıdaki ifadeleri yürütün

Çalma listenizin Sık Kullanılanlar olduğunu varsayarak, Sık Kullanılanlar.json elde edersiniz. Oynatma listesindeki her videonun sadece başlığını ve YoutubeFavorites.txt adlı bir metin dosyasında bir link istiyorum.

$json = ConvertFrom-Json (Get-Content .\Favorites.json -Raw)
foreach ($vid in $json) { "$($vid.snippet.Title) - Link: https://www.youtube.com/watch?v=$($vid.contentDetails.videoId)" | Out-File -FilePath .\YoutubeFavorites.txt -Append }

Voila, tadını çıkar.


Özel çalma listeleri dışa aktarılmamış gibi görünüyor (yalnızca 'daha sonra izledi' ve daha sonra aradığım çalma listesi olmayan bir şey daha vardım)
polynomial_donut

Bu oldukça garip görünüyor, ayrıca hayal kırıklığı yaratıyor. Belki de diğer cevaplardaki API seçenekleri tek gerçek çözümdür.
Remy Lambert


3

Geliştirdiğimiz yeni bir site ile yapabilirsiniz https://www.tunemymusic.com/

Youtube’dan belirli bir oynatma listesini, tüm oynatma listelerinizi ve ayrıca beğendiğiniz tüm videoları dışa aktarabilirsiniz. Sonra serbest metin dosyası için verebilirsiniz.

Metin dosyasına ek olarak, şimdi csv ve m3u dosyalarına dışa aktarmak için seçenekler eklemeye çalışıyoruz


Bir youtube çalma listesi URL'si ekledim ve hiçbir şey olmadı.
TIX BRANCO

2

Günümüzde, istediğinizden daha fazlasını yapan birçok çözüm var:

Ancak en verimli ve en zarif çözüm bence youtube-dl'yi kullanmaktır, çünkü tek bir komutla (doktora bakarak kolayca oluşturabilirsin) tek bir komutla TÜM çalma listelerini yayınlayabilirsin. başlıkları, eğer umursuyorsan ...), tüm çalma listelerinizi gösteren sayfaya bir YouTube URL’si girerek (ör. https://www.youtube.com/user/your_user_name/playlists ). Bunun yanı sıra, YouTube'a (kimlik bilgilerinizle birlikte) kimliği doğrulanmış istekleri yapma seçeneği de vardır, böylece özel çalma listelerinizi de indirebilir .


1

Listedeki her videonun tanımını yakalamak ve ardından hepsini bir textarea'da basmak için tarayıcınızda bir Bookmarklet yapabilirsiniz .

Örneğin, bu komut dosyası URL'lerin ve videoların adlarının bulunduğu bir liste oluşturacaktır. Basitçe bir yer imi oluşturun ve aşağıdaki betiği yer iminin adresine (URL) ekleyin:

javascript:var Description = "Export YouTube playlists. This script is in the Public Domain - created at: 2016-11-21";
function printline(myLine) {
  document.write(myLine+"\n");
};
function showlinks() {
  var today = new Date();
  var day = today.getDate();
  var month = today.getMonth()+1;
  var year = today.getFullYear();
  document.write("<html><head><title>YouTube list: " + Title + "</title></head><body>");
  printline("<textarea name='Links' rows='55' cols='200'>");
  printline(year + "-" + month + "-" + day);
  printline(Title +"\n"+url);
  printline("");
  for (i=0; i<lines.length; i++) printline(lines[i]);
  printline("</textarea>");
  document.write("</body></html>");
};
var url = document.URL;
var body = document.body.innerHTML;
var lines = [];
if (url.match(/youtube.com/)) {
  var x = body.match(/data-list-title=.*/)[0];
  var x = x.replace(/.*data-list-title="/, '');
  var Title = x.replace(/".*/, '');
  var body = body.replace(/data-video-id="/g, 'data-video-id="https://www.youtube.com/watch?v=');
  if (body.match(/li class=.yt-uix-scroller-scroll-unit/)) {
    var matches = body.match(/li class=.yt-uix-scroller-scroll-unit.*/g);
    for(i=0; i<matches.length; i++) {
      var x = matches[i];
      var ID = x.replace(/.*data-video-id=./, "");
      var ID = ID.replace(/".*/, "");
      var VName = x.replace(/.*data-video-title=./, "");
      var VName = VName.replace(/".*/, "");
      var x = VName;
      var x = ID + "\t" + VName;
      lines.push(x);
    };
  };
};
showlinks();

Videoların URL'lerini istemiyorsanız, daha sonra "var x = ID +" \ t "+ VName;" satırını silin. (satır 36)

YouTube, HTML sayfalarının biçimlendirmesini değiştirene kadar bu komut dosyası bir süre çalışmalıdır. Bunu yapacaklarsa, betiği buna göre ayarlamanız gerekecek - büyük olasılıkla, "data-video-title =" yerine başka bir şey aramak zorunda kalacaksınız


-1

Yaptığım, çalma listeme gidip çalma listemin adını sağ tıklayıp ardından "Windows Live ile e-posta" seçildi. E-postanıza bir bağlantı gönderir ve bağlantıyı tıkladığınızda tüm çalma listeniz vardır.


1
YouTube, bir videoyu oynatma listenizden kaldırır ve ardından e-postayla gönderilen bağlantıyı tekrar ziyaret eder ve videonun artık eksik olduğu o oynatma listesine yönlendirilirsiniz. ;)
jj_

-3

Neden çalma listesini açıp Excel'e, Word'e veya herhangi bir şekilde kopyalayıp yapıştırmıyorsunuz? Tamamen zarif değil, ancak bilgi orada bir yedek olarak var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.