概要
この「yyプラグインプラス」とは、youtubeサイトの動画検索を利用して最大100件程の動画を独自のリスト形式で取得します。
リスト形式は独自形式のため、専用のプレーヤーで再生します。
そのプレーヤーは「なつかしの曲(ポータル)」サイトにあります。
プラグインは、Chromeウェブストアで公開しています。
プラグインの必要性
通常は、youtube Data APIを使用して動画の検索を行い再生リストを作りますが、この場合だと、一日当たりのクォータ量に制限があり、それをオーバするとAPIを使用できなくなります。その制約を回避するには、直接、youtubeへサーチリクエストを送り、動画の検索を行うことになります。
この拡張プラグインはこの方法で自動的にほぼ100件の再生リストを作成します。
専用プレーヤ
この再生リストで再生するWebサイトが「なつかしの曲(ポータル)」です。
サーチの仕方
「なつかしの曲(ポータル)」サイトで再生リストを作成するには、クェリー入力してサーチボタンをクリックします。
このプラグインの動作の仕組みについて
Chrome拡張機能の作り方は省略します。ここでは、このプラグインの特長について記述します。
(1)タブの連携について
二つのタブ間で連携して動作します。
一つは「なつかしの曲(ポータル)」サイトのタブで、もう一つは、「youtubeサイト」のタブです。先に、「なつかしの曲(ポータル)」ページでクエリー入力して、サーチボタンをクリックします。すると、別タブで「youtube」ページが開き、検索が始まります。この時、自動的にスクロールし、検索数が徐々に上がってきます。その状況は、上部のクェリー欄にステータスとして表示されます。約100件に達すると、検索結果が、親タブへ通知され、親ページのリスト覧に今の検索結果が表示されます。
その後にリストの先頭から自動再生が開始されます。
以上の連携動作は拡張プラグインのcontent.jsとbackground.js間で行われます。
動作の仕組み詳細
この拡張プラグインは、次の二つのサイトと連携して動作します。「なつかしの曲(ポータル)」サイトと「youtubeサーチ」サイトです。
動作の仕組みを以下の図に示します。
順序
(1)タブA(なつかしの曲(ポータル))からタブB(youtubeサーチ)へサーチリクエストを送信します。
(2)タブB(Youtubeサーチ)では、リクエストのクェリーを基に検索を開始します。検索はマウスホィールを下げながら約100件まで繰り返します。この繰り返しはスクリプトで自動化しています。100件に達したら独自形式の再生リストを生成します。専用サーバーに保存後、background.jsへリストを送信します。
(3)background.jsからタブA(なつかしの曲(ポータル))のcontent.jsへリスト(検索結果)を送信します。ふたつのcontent.jsはひとつのファイルです。内部で処理を分けています。
(4)content.jsからタブAのリスト要素にリストデータを格納します。
(5)タブAでリストの先頭から動画の情報を取得し、プレーヤーで自動再生します。
以上がこの拡張プラグインの動作の仕組みです。
あとがき
このプラグインで約100件程の再生リストが10数秒で作れます。
作成したリストは専用のサーバーに保存されます。そのリストをサーバーから取り出して再生することもできます。
再生については「なつかしの曲(ポータル)」ページに簡単に実行できますので、よろしかったら試してみてください。