【YouTube】プレイリストから個別URLとタイトルを一括抽出する

wp_tmb_youtube-playlist-url-title

悩み

YouTubeのプレイリストとタイトルを一括取得したいな…

YouTubeのプレイリストからURLとタイトルを一括抽出(取得)する方法を紹介します。
また抽出したの個別URLとタイトルを、[Google]スプレッドシートでソートする方法も解説しています。


新しいやり方(追記2020.05.10)

  • 最も効率的かつ簡単な方法が見つかりました。それは「Youtube Export」で解決します。
  • YouTube1プレイリストにつき最大の5000もURLとタイトルを一括抽出することができます。(txtの場合)
  • テキスト出力、HTML出力に対応しています。

古いやり方

  • 個別URLのみの場合、URL数 1038個も抽出できます。
  • 個別URLとタイトルの抽出の場合、200個抽出できたことを確認しています。

使用環境&使用アプリ

Windows前提で説明しますが、Macでもできると思います。

  • WIndows 10 Pro
  • Google Chrome
  • Google スプレッドシート
  • テキストエディタ(メモ帳, TeraPad, Evernote txt開けるなら何でも良いです)
  • GetTabInfo(Chromeの拡張機能)
    • Macの場合:
      1. Easy WineやWineを使います。(Windowsのソフトを動かせます)
      2. Parallels DesktopやVirtual Boxを使います。(仮想のOS上で動かします)

YouTube一括抽出アプリ

一括抽出する手順(新しいやり方 )

大まかな流れとしては以下の手順になります。

  1. YouTubeのプレイリストのURLとタイトルを一括で抽出する【Youtube Export】
  2. タイトルとURLを文字列を整形する【Google スプレッドシート】

YouTube Exportとは

YouTube Exportとは、YouTubeプレイリストのURLを入力しプログラムを実行することで、YouTubeの個別のURL、チャンネル名、再生時間、タイトルを抽出し、txtまたはhtmlに書き出してくれるWindowsのアプリです。

使用上の注意

  • 同時起動&実行はエラーが出るのでできません。
  • htmlはURL数が多くても書き出すことはできますが、ページの読み込みの環境により、抽出できない場合があります。
    • URL数:×5000、〇1036。(私の環境で検証、2回実行。)

1. YouTube URL タイトル 一括抽出【Youtube Export】

  1. SourceForgeというサイトからYoutube Exportをダウンロードします。
f:id:koshishirai:20200511113754p:plain
  1. YouTubeのプレイリストのURLをコピーします。
f:id:koshishirai:20200511115117p:plain
  1. URLを貼り付けて実行します。

出力先:txt, html 両方実行できます。 htmlを選択した場合、URL数が多いプレイリストだとページの読み込みに失敗する可能性が高いです。
txtはURL数5000でも大丈夫でした。

f:id:koshishirai:20200511115616p:plain

f:id:koshishirai:20200511120714p:plain
実行結果
  1. txt, htmlファイルを開きます。
f:id:koshishirai:20200511122102p:plain f:id:koshishirai:20200511122050p:plain
txtファイル htmlファイル

タイトルとURLが抽出できていることが確認できます。

YouTube Export エラー一覧

f:id:koshishirai:20200511154413p:plain:w500

種類 System.OutOfMemory Exception の例外がスローされました。

発生・要因:
HTML抽出する場合で、1プレイリストのURL数が3000を超えた場合に高い確率で発生しました。
また、URL抽出がちょうど終わるタイミングで発生するようです。
繰り返し実行を試しましたが、このエラーが発生して失敗しました。
おそらくURLの数が多すぎると、HTMLの生成に追いつかないと思われます。

f:id:koshishirai:20200511154924p:plain:w700

別のプロセスで使用されているため、プロセスはファイル C:Users\\ユーザ名\\Downloads\\log.txtにアクセスできません。

私はこのエラー発生時、前回抽出したtxtファイルまたはlog.txtを開いていました。
また、YouTubeExportは2個同時に起動できるのですが、同時に実行することはできないようです。

2. タイトルとURLを文字列を整形【Google スプレッドシート】

皆さんおそらくこのデータを何かの目的に使用したいのだと思います。。。 このままだと扱いづらいので文字列を整形します。

  1. さきほどのテキストファイルの文字列をコピーします。
  2. [Google]スプレッドシートに貼り付けます。A1が良いと思います。
f:id:koshishirai:20200511123534p:plain

あとは好きなように編集してください。 これでおそらく皆さんが満足いく結果になったと思います。

一括抽出する手順(古いやり方 )

大まかな流れとしては以下の手順になります。

  1. YouTubeのプレイリストのURLを一括で抽出する【Youtube List Grabber】
  2. 一括抽出したURLを複数タブで起動し、URLとタイトルを一括で抽出する【GetTabInfo】
  3. タイトルとURLを文字列を整形する【Google スプレッドシート】

Youtube List Grabberとは

Youtube List Grabberとは、YouTubeプレイリストのURLを入力し、プログラムを実行することで、個別のURLを抽出し、txtに書き出してくれるWindowsのアプリです。(※ただしタイトルは抽出しません)

GetTabInfoとは

GetTabInfoとは、現在開いている全タブからタイトルやURLを一括抽出することができます。また、HTMLタグや短縮URL、QRコードも生成可能で、テンプレートの欄で取得内容をカスタマイズすることができます。

1. YouTube URL 一括抽出【Youtube List Grabber】

  1. このサイトからYoutube List Grabberをダウンロードします。
f:id:koshishirai:20200510203111p:plain:w500
  1. YouTubeのプレイリストのURLをコピーします。

このような画面でプレイリストをコピーすることができます。

f:id:koshishirai:20200510203344p:plain:w400 f:id:koshishirai:20200510203333p:plain:w400
成功するURL〇 失敗するURL×

次の例に合わせて〇のいようにYouTubeのURLをコピーしてください。

× → https://www.youtube.com/watch?v=A97s8wymvrg&list=PLtHz2IhH3I3gDpRsDZxpGkaI9Mjza4I15
〇 → https://www.youtube.com/watch?v=A97s8wymvrg&list=PLtHz2IhH3I3gDpRsDZxpGkaI9Mjza4I15&index=2&t=0s
〇 → https://www.youtube.com/watch?v=A97s8wymvrg&list=PLtHz2IhH3I3gDpRsDZxpGkaI9Mjza4I15&index=1
&list= : プレイリストを指す
&index=2 : 再生リスト内の2番目の動画
&t=0s : 再生開始時間0秒から
  1. Youtube List Grabberを起動し、コピーしたURLを貼り付けて、「Grab!」を実行します。
f:id:koshishirai:20200510204941p:plain

もしアプリケーションの左下がStatus Grab Again! (再びつかんで!)となったら、
「Grab!」を連続でクリックしてURL抽出に成功するまでゴリ押しで何回も繰り返します。
(3回以上) 何回も「Grab!」しないと次のようなエラーが出るんだよなぁ…

f:id:koshishirai:20200510205027p:plain

エラーメッセージ Status ; 長さを0未満にすることはできません。
パラメータ : length そうなってもまだ「Grab!」を続けて下さい。
もしダメな場合は、もう一度上記のURLの例の形式を見直してください。

  1. 抽出に成功したら、エリア内どこでも良いので右クリック→SAVEします。
  • アプリケーションと同一ディレクトリ内に「YouList.txt」に出力されます。
  • 「YouList.txt」はSAVEボタンを押すごとに上書きされます。
f:id:koshishirai:20200510205103p:plain

URLの抽出完了です。

f:id:koshishirai:20200510205130p:plain

2. YouTube タイトルとURL 一括抽出【GetTabInfo】

続いて、URLとタイトルを一括抽出する方法を説明します。今回は50個抽出します。

  1. chromeウェブストアからGetTabInfoという拡張機能をChromeに追加します。
f:id:koshishirai:20200510205201p:plain:w500
  1. YouListに列挙されているURL(リンク)を複数のタブで開きます。
  • YouList.txtにあった全てのURLを空のGoogle スプレッドシートに貼り付けます。
  • 最大50個選択してリンクを開きます。(51個目からはリンクを開くことはできません。)
f:id:koshishirai:20200510205237p:plain:w400 f:id:koshishirai:20200510205246p:plain:w400
  1. 読み込みが終わるまで待ちます。途中だとタイトルが抜け落ちます。

極力、余計なタブを含めないようにしてください。 f:id:koshishirai:20200510205458p:plain:w500

  1. Chrome 右上のGetTabInfoをクリックして、Templeteの欄に次の文字を入力します。

タイトルとURLの□を間に挟んでいます。分かりやすいマークであれば☆でも〇でも何でも良いです。

%%TITLE%%□%%URL%%■
f:id:koshishirai:20200510205532p:plain
  1. Previewをクリックしてから、Copy(コピー)してください。
f:id:koshishirai:20200510205557p:plain

タイトルとURL抽出完了です…!

3. タイトルとURLを文字列を整形【Google スプレッドシート】

  1. それを空白のスプレッドシートのA1に貼り付けてください。
f:id:koshishirai:20200510214430p:plain
  1. A2に次の関数を入力してください。
=SPLIT(A1,"■", FALSE)

SPLIT関数は指定した文字列を分割することができます。

  1. 2列目を全選択して、A2を選択を外し(A2をCtrl + 左クリック)、コピーします。
f:id:koshishirai:20200510214346p:plain f:id:koshishirai:20200510214501p:plain
  1. A4を選択。特殊貼り付け→転置して貼り付け をします。
f:id:koshishirai:20200510214558p:plain:w500
  1. タイトル→URLの順番に並びました。画像をよく見てください。□(四角)のおかげで分かりやすい目印になっています。
f:id:koshishirai:20200510214644p:plain
  1. タイトルとURLを分割します。列を指定して選択。データ→テキストを列に分割します。
f:id:koshishirai:20200510214753p:plain

7.区切り文字→カスタム→「□」を入力します。

f:id:koshishirai:20200510214816p:plain:w300 f:id:koshishirai:20200510214905p:plain:w500

これで文字列整形完了です…!

まとめと感想

  1. 【Youtube List Grabber】YouTubeのプレイリストのURLを一括で抽出することができます。
  2. 【GetTabInfo】一括抽出したURLを複数タブで起動し、URLとタイトルを一括で抽出することができます。
  3. 【Google スプレッドシート】タイトルとURLを文字列を整形します。

  • この方法を見つけたのは個人的なある実現のために模索した方法です。
  • 大量にYouTubeのタイトルとURLを抽出したい場合には超便利です。

追記2020.05.10:新しいやり方の方が最も効率的かつ簡単な方法でした。

koshishirai / 3D Modeler

Comments are closed.