YouTubeは、お気に入りリストにある動画を定期的に削除するのが好きです:
しかし、彼らは彼らが何であったかを私に話すことを拒否しますので、私は別のコピーを見つけることができます。
YouTubeプレイリストをエクスポートして、定期的にそれらを比較し、削除された曲の他のコピーを手動で見つけることができるようにしたいのですが。
YouTubeからプレイリスト(またはプレイリスト)をエクスポートするにはどうすればよいですか?
私の知る限り、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
これをもっと簡単にしよう。
次のページに移動します http://www.williamsportwebdeveloper.com/FavBackUp.aspx
Excel形式で作成したいplaylist-urlを入れてください、それだけです:)
以下にプレビューを示します。 にあるショートフィルムプレイリストをエクスポートしました。2つのリンクを投稿するのに十分なクレジットがありません-
作成者: '私のWebアプリケーションは、YouTube開発者のAPIを使用してフィードデータを取得するだけです。同じことを自分で行うこともできますが、複雑なXML形式であり、読みにくいものになります。ほとんどの人は、Excelスプレッドシートにそれを入れたいと思います。 Microsoft Officeをお持ちでない場合は、Open Officeを無料でダウンロードできます。 '
V2の非推奨に照らして、現在の答えはもはや機能しません。 v3は新しいバージョンです。
ドキュメントリンク- https://developers.google.com/youtube/v3/docs/playlistItems/list
これにより、結果が50件に制限されます。以下を記入してください
これは、あなたが求めることを達成するための最もエレガントな方法ではありませんが、ここで私がそれを行うために使用した手動の方法があります。私はこれの一部にPowershellを使用しているため、Windowsマシンを使用していると想定しています。
手順:
プレイリストがお気に入りであると仮定すると、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 }
ほら、楽しんで。
この問題を修正するために www.recovermy.video というサービスを作成しました。 別の質問に答える を参照してください。
私たちが開発した新しいサイトでそれを行うことができます https://www.tunemymusic.com/
Youtubeから特定のプレイリスト、すべてのプレイリスト、お気に入りのビデオをエクスポートできます。その後、無料のテキストファイル用にエクスポートできます。
テキストファイルに加えて、csvおよびm3uファイルにエクスポートするオプションの追加に取り組んでいます
現在、あなたが要求した以上のことを行う多くのソリューションがあります:
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に認証済みのリクエストを行うオプションもあるため、プライベートプレイリストもダウンロードできます。
ブラウザで 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 =」の代わりに他の何かを検索する必要があります