web-dev-qa-db-ja.com

YouTubeプレイリストをエクスポートするにはどうすればよいですか?

YouTubeは、お気に入りリストにある動画を定期的に削除するのが好きです:

warning about deleted videos

しかし、彼らは彼らが何であったかを私に話すことを拒否しますので、私は別のコピーを見つけることができます。

YouTubeプレイリストをエクスポートして、定期的にそれらを比較し、削除された曲の他のコピーを手動で見つけることができるようにしたいのですが。

YouTubeからプレイリスト(またはプレイリスト)をエクスポートするにはどうすればよいですか?

41
Ian Boyd

私の知る限り、Youtubeでこれを行う方法は組み込まれていません。

もちろん、Youtube APIを使用して、次を使用してすべてのプレイリストをxmlで簡単に取得できます。

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

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

そのxmlファイルには、各プレイリストの一意のIDがあり、これを使用して、ビデオURLやタイトルなど、各プレイリストの詳細を取得できます。次のAPI呼び出しは、再びxmlファイルを提供します。

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

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

ただし、これらのXMLファイルを手動で操作するのは悪夢です。これらのXMLファイルから関連情報を引き出して表示するには、小さなWebアプリを作成することをお勧めします(Webプログラミングを少し知っている場合)。

APIの詳細については、こちらをご覧ください: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists

17
OAC Designs

これをもっと簡単にしよう。

次のページに移動します http://www.williamsportwebdeveloper.com/FavBackUp.aspx

Excel形式で作成したいplaylist-urlを入れてください、それだけです:)

以下にプレビューを示します。 にあるショートフィルムプレイリストをエクスポートしました。2つのリンクを投稿するのに十分なクレジットがありません- enter image description here

作成者: '私のWebアプリケーションは、YouTube開発者のAPIを使用してフィードデータを取得するだけです。同じことを自分で行うこともできますが、複雑なXML形式であり、読みにくいものになります。ほとんどの人は、Excelスプレッドシートにそれを入れたいと思います。 Microsoft Officeをお持ちでない場合は、Open Officeを無料でダウンロードできます。 '

15
user2253392

V2の非推奨に照らして、現在の答えはもはや機能しません。 v3は新しいバージョンです。

ドキュメントリンク- https://developers.google.com/youtube/v3/docs/playlistItems/list

これにより、結果が50件に制限されます。以下を記入してください

リンク例- https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&pageToken=NNNNN&playlistId=PLXxxx=key=yyyy

8
Sairam

これは、あなたが求めることを達成するための最もエレガントな方法ではありませんが、ここで私がそれを行うために使用した手動の方法があります。私はこれの一部にPowershellを使用しているため、Windowsマシンを使用していると想定しています。

手順:

  1. Google Takeoutに移動
  2. [データのダウンロード]ページで、YouTube以外のすべての選択を解除します
  3. Youtubeを展開し、[YouTubeデータ]の下の[特定のデータを選択]を選択し、[YouTubeデータ]ボタンをクリックして[プレイリスト]のみを選択し、[サブスクリプション]ドロップダウンを[JSON]に変更し、[次へ]
  4. 準備ができたらテイクアウトデータをダウンロードし、どこにでも解凍します
  5. Powershellセッションを開き、以下のステートメントを実行します

プレイリストがお気に入りであると仮定すると、Favorites.jsonを取得します。 YoutubeFavorites.txtというテキストファイルに、プレイリストの各ビデオのタイトルとそのリンクだけが必要だとしましょう。

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

ほら、楽しんで。

6
Remy Lambert

この問題を修正するために www.recovermy.video というサービスを作成しました。 別の質問に答える を参照してください。

3
ninsky

私たちが開発した新しいサイトでそれを行うことができます https://www.tunemymusic.com/

Youtubeから特定のプレイリスト、すべてのプレイリスト、お気に入りのビデオをエクスポートできます。その後、無料のテキストファイル用にエクスポートできます。

テキストファイルに加えて、csvおよびm3uファイルにエクスポートするオプションの追加に取り組んでいます

3
tunemymusic

現在、あなたが要求した以上のことを行う多くのソリューションがあります:

  • http://www.playlist-converter.net/ -複数の音楽サービスとファイル形式からプレイリストを変換します

  • https://sourceforge.net/projects/youtubeexport/ -このプログラムは、youtubeプレイリストをテキストまたは.htmlファイルにエクスポートするために使用されます

  • https://soundiiz.com/ -ファイル、Web URLまたはプレーンテキストからプレイリストをアップロードし、すべてのストリーミングプラットフォーム間でお気に入りを転送し、すべての一般的なファイル形式にダウンロードする

しかし、最も効率的でエレガントなソリューションは、 youtube-dl のような1つのコマンド(ドキュメントを見るだけで簡単に作成できます)を使用すると、プレイリストアイテムのタイトルをすべてダウンロードできます(気にする場合はタイトルだけでなく)。 。)、すべてのプレイリストを表示するページのYouTube URLをパラメーターとして入力します(例 https://www.youtube.com/user/your_user_name/playlists )。さらに、(資格情報を使用して)YouTubeに認証済みのリクエストを行うオプションもあるため、プライベートプレイリストもダウンロードできます

1
jj_

ブラウザで Bookmarklet を作成して、リスト内の各ビデオの説明を取得し、それらをすべてテキストエリアに印刷できます。

たとえば、このスクリプトはURLと動画の名前を含むリストを作成します。ブックマークを作成し、ブックマークのアドレス(URL)に次のスクリプトを追加するだけです。

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

動画のURLが必要ない場合は、「var x = ID + "\ t" + VName;」という行を削除するだけです(36行目)

YouTubeがHTMLページのフォーマットを変更するまで、このスクリプトはしばらく動作するはずです。彼らがそれをするとき、それに応じてスクリプトを調整する必要があります-ほとんどの場合、「data-video-title =」の代わりに他の何かを検索する必要があります

1
BearCode