動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
2007年09月26日 23:16
Youtubeの動画をダウンロードするツールはたくさんありますが、下記サイトに紹介しているように非常に簡単にFLV形式でダウンロードできます。
どうやらすでに内部的にも Google とくっついているようで。これまでだとスクレイピングしないとわからなかった FLV のありかが、クライアントサイドだけでわかるようになっております。
via: [Saq.] YouTube の FLV を抜き出すのが簡単になっている件
video_idが分かれば簡単に取得できるとあって、たくさんブックマークレットは存在するようです。
・YouTubeの動画のダウンロード用URLを表示するBookmarklet - openfb
・YouTubeのファイル保存用ブックマークレット : ひろ式めもちょう
上記でも十分なんですが、欲張りなオレはもうちょっと頑張ったブックマークレットを作ってみようと思う。
Youtubeの動画を片っ端からダウンロードするブックマークレット
上のリンクをブックマークしてください。
中身はこんな感じ
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コピー編)
コメント