動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)

Youtubeの動画をダウンロードするツールはたくさんありますが、下記サイトに紹介しているように非常に簡単にFLV形式でダウンロードできます。

どうやらすでに内部的にも Google とくっついているようで。これまでだとスクレイピングしないとわからなかった FLV のありかが、クライアントサイドだけでわかるようになっております。

via: [Saq.] YouTube の FLV を抜き出すのが簡単になっている件

video_idが分かれば簡単に取得できるとあって、たくさんブックマークレットは存在するようです。

YouTubeの動画のダウンロード用URLを表示するBookmarklet - openfb
YouTubeのファイル保存用ブックマークレット : ひろ式めもちょう

上記でも十分なんですが、欲張りなオレはもうちょっと頑張ったブックマークレットを作ってみようと思う。

Youtubeの動画を片っ端からダウンロードするブックマークレット

Youtube FLV Download List

上のリンクをブックマークしてください。

中身はこんな感じ

javascript:(function(){w=window;d=document;l=location;t=d.body.innerHTML;u=l.href;s='';if(l.hostname.match(/youtube.com$/)){r=/watch.v=[-_a-zA-Z0-9]+/g;c=8;}else{r=/.youtube.com.v.[-_a-zA-Z0-9]+/g;c=15;}if(a=(u+','+t).match(r)){for(i=0;i<a.length;i++){v=a[i].substr(c);if(s==''||!s.match(v)){s+='<img src="http://img.youtube.com/vi/'+v+'/default.jpg" /> '+v+' <a href="http://cache.googlevideo.com/get_video?video_id='+v+'">DOWNLOAD</a><br />';}}d.body.innerHTML=s+t;w.scrollTo(0,0);}})();

一応、改行とコメントつけたものも公開

javascript:
(function(){
w = window;
d = document;
l = location;
t = d.body.innerHTML;
u = l.href;
s = '';

// Youtubeサイトではアンカーを拾う正規表現
if ( l.hostname.match(/youtube.com$/) ) {
r=/watch.v=[-_a-zA-Z0-9]+/g;
c = 8;
}
// Youtubeサイト意外ではparamタグを拾う正規表現
else {
r = /.youtube.com.v.[-_a-zA-Z0-9]+/g;
c = 15;
}

// マッチした結果を配列で取得
if ( a = (u+','+t).match(r) ) {
for ( i=0; i<a.length; i++ ) {
v = a[i].substr(c); // VIDEO_ID取り出し
// 重複以外は一覧化
if ( s == '' || !s.match(v) ) {
s += '<img src="http://img.youtube.com/vi/'+v+'/default.jpg" /> '
+ v
+ ' <a href="http://cache.googlevideo.com/get_video?video_id='+v+'">DOWNLOAD</a><br />';
}
}
d.body.innerHTML = s + t;
w.scrollTo(0,0); // 最後にページトップに移動
}
})();

・ページ内に表示されている全ての動画のDOWNLOADリンクを一覧表示します。
・一覧にするとどれがどれやら分からなくなるのでサムネイルとvideo_idも表示します。
・Youtube以外のページに貼られている場合もOBJECTから取得できます。
・使い方は、Youtube動画が表示されているページでブックマークレットを実行し、一覧からDOWNLOADリンクを押すだけです。
・ファイルを保存する時にファイル名と拡張子に「.flv」と付けるのを忘れずに。
・あとは、VLCとかFLV形式の動画を見れるソフトでお楽しみ下さい。

さあこれで、

http://www.youtube.com/watch?v=kPQR-OsH0RQ
http://jp.youtube.com/watch?v=kPQR-OsH0RQ

みたいな個別ページだけじゃなくて、

http://jp.youtube.com/results?search_query=nirvana

みたいな検索画面とか、

http://www.technorati.jp/blogtv/

みたいな外部サイトのYoutube動画も拾えます。


自分用に作ったので正規表現とか手抜きしましたが、一応IE,Firefox,Safariとか一通り動くと思います。凝ろうと思えば色々できたかもしれないけど、IEでも使えるようにコードを500バイト以内に押さえることにしたので、まあここまでできればじょうできかなと。
おかしいところがあったら教えて下さい。

EXIF情報を一覧表示するブックマークレット「EXIF EXISTS ?」を作りました
第13回:URLエンコードとURLデコードを簡単にするブックマークレット
第11回:引用(blockquote)を簡単にするブックマークレット
第9回:閲覧しているサイトへのリンクタグを生成するブックマークレット
第6回:TinyURL の遷移先が怖くて開けない場合の対処法

動画を楽しもう!(HandBrakeの最新版0.9.0を試してみる)
動画を楽しもう!(インターネット編)
動画を楽しもう!(MacでDVDコピー編)
動画を楽しもう!(WindowsでDVDコピー編)

同じカテゴリーの記事

このページの一番上に戻る
  • Facebook
  • Twitter
  • Tumblr
  • Instagram
  • miil