2011年4月17日日曜日

MIX11をChannel9からまとめどり

更新:2011年4月19日 4:07

残念なお知らせと、うれしいお知らせがあります。

Mix 11 Videos - Download them all with RSS - Scott Hanselman

残念なのからいくと、このエントリは用なしになりました。嬉しいのは公式にMP4 Highが配信されました。

ダウンロードしなおすぜ!頑張れオレ!

MIX11 | Channel 9

いっぱいですね~。120個くらいですかね。MP4だけダウンロードしてiPadに入れて通勤時に全部目を通しておくのが、ラスベガスに行けなかったマニアのおつな楽しみ方というものでしょう。

http://channel9.msdn.com/Events/MIX/MIX11/RSS

とはいえ、Feedから取り出せたりするほど、便利なわけでもなく。やり方あるのかな?

でもそんなこと気にしない。ListタブをクリックすればすべてのMP4動画へのリンクがありますね。ということは、HTMLにはちゃんと動画のURLが埋まってるわけですね。となれば、スクレイピング!

なんてね。今回はちょっと趣向を変えてIE9のコンソールでJavaScriptを実行して取り出してしまいましょう!と、思ったけど、なんかちょっと思ったような出力が得られなかったので、Chromeで取り出してしまいましょう!てへ。

まずはChromeでページにアクセス。

http://channel9.msdn.com/Events/MIX/MIX11?sort=status&direction=asc#tab_sortBy_status

mix11-1

Shift+Ctrl+iでコンソールをひらきましょう。

mix11-2

MIX11のページにはjQueryが読み込まれてるので、やりたい放題ですよ。まずは変数の初期化。

var list=[];

と入れて改行。

続いて、listにエレメントから取り出したMP4一覧をタイトル込みで入れる。

$(".entry-meta > .downloads a[href*='.mp4']").each(function(i,v){list.push("wget -O \""+$(v).parents(".entry-meta").find(".title").text().replace(":","-").replace("?","?") +".mp4\" "+ $(v).attr("href"));});

↑これをコピペして改行すると、ぞろぞろ表示されます。

mix11-3

が、結果はlistに格納されてるので、続けて

list

と、入力して改行。

mix11-4

あとはコレをさらにコピペして、都合のいいように編集してコンソールからwget!curlでもいいっす。ちなみに複数の解像度のファイルがあるので、タイトルだけでファイル名にすると重複しちゃうので、その辺は目視で変更。さらにファイルとして使えない文字もあったりするので、ちょこっと修正。お好みに合わせて、どーぞー。ただいまダウンロード中の図。

mix11-6

※パスは都合のいいように書き換えてね!

ちなみにIEで実行したのが↓こちら。

mix11-5

ちょっとコピペしにくい。というかできない。

これで見放題ですな。ぐへへ、ぐへへへ~。たまりませんな~。あ、でも解像度低いとiPadでちょっと見づらい。文字潰れ気味。スライドはギリセーフだけど、コードが見れるかどうかが大事なので、ダウンロード後にちょっと確認しないとね。