http://d.hatena.ne.jp/hayori/20080307/1204852916 を使わせてもらったらファイル名が文字化けしたのでsjisに変換するように書き換えた.
#!/usr/bin/ruby -Ku # nicodown.rb require 'rubygems' require 'nicovideo' require 'kconv'
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 nv = Nicovideo.new('メールアドレス', 'パスワード') ARGV.each do |video_id| nv.watch(video_id) do |v| File.open("[#{v.id}] #{v.title.sub(/‐.*$/, '')}.#{v.type}".tosjis, "wb"){|f| f.write(v.flv) } end end
初めて実用的なrubyコードを読み,初めて編集したけど,なんていうかrubygems便利すぎる.
gem install nicovideo
追記
ソースの文字コードはutf8にしませう.