ニコニコ動画 swf、mp4、flvをダウンロードする for Windows
Windowsで昨日のスクリプトを動かすまでの手順です。Rubyのインストールから、ファイルの取得まで。
需要があるようなので、これを機にRubyユーザを増やしてしまおう計画。
1.ActiveScriptRubyをインストールする
http://arton.hp.infoseek.co.jp/indexj.html
ActiveScriptRuby 1.8.6をインストールします。
2.nicovideo gemを導入する
ruby consoleを開いて以下を実行してください。
> gem install nicovideo
[Yn]と出てきたらエンター押して進めましょう。「Select whick gem to install for your platform」と聞かれたら、1の hpricot 0.6 (mswin32)を選んでください。
ときどき失敗するようですが、めげずにチャレンジ。
3.nicodownをダウンロードする
昨日のスクリプトをWindowsでも動くように改造して置いておきました。
http://matou.sakura.ne.jp/downloads/nicodown/nicodown001.zip
ダウンロードして解凍してください。
4.ニコニコ動画のアカウントを設定
解凍したファイルに含まれる、conf.txtを編集してください。メモ帳で編集すればOKです。
5.nicodown.rbを実行
ここまでの環境が無事整えば、nicodown.rbをダブルクリックで素敵なダウンロードライフが満喫できます。
実行。
plz input video_id(smXXXXXX):sm2539712
結果。
[sm2539712] H264テスト アイドルマスター.mp4
複数の動画を一気にダウロードしたい場合は、ruby consoleからnicodownに引数を与えて実行してください。
>nicodown.rb sm2553704 nm2536146 sm2540481
[sm2553704] 魔理沙は大変なものを盗んでいきました(h.264版).mp4 [nm2536146] 日刊VOCALOIDランキング 2008年3月6日.swf [sm2540481] 【鏡音リン・レン】ジェミニ【オリジナル】.flv
Windows向けソース
ソースがないと寂しいので貼っておきます。コピペで保存する場合はUTF8で保存してください。ダウンロードした方が確実です。(nicodown001.zip)
変更点。
- アカウント情報をconf.txtから取得するように変更
- タイトルをsjisに変換して出力
- 引数がないとき、入力を促すように変更
#!/usr/bin/ruby -Ku # nicodown.rb require 'kconv' require 'rubygems' require 'nicovideo' module Nicovideo class VideoPage def type @params ||= get_params pattern = %r!^http://.*\.nicovideo\.jp/smile\?(.*?)=.*$! CGI.unescape(@params['url']) =~ pattern case $1 when 'm' return 'mp4' when 's' return 'swf' else return 'flv' end end end end conf = YAML.load_file('conf.txt') nv = Nicovideo.new(conf['mail'], conf['password']) if ARGV.size == 0 print "plz input video_id(smXXXXXX):" ARGV << gets.chomp end ARGV.each do |video_id| nv.watch(video_id) do |v| File.open("[#{v.id}] #{v.title.sub(/‐.*$/, '').tosjis}.#{v.type}", "wb"){|f| f.write(v.flv) } end end