Rubyでニコニコ動画のflvとコメントxmlをダウンロードしようとして挫折
上記を参考に、Rubyでやろうと思って挫折。
最後にダウンロードするところで400BadRequestが帰ってきて(ノ∀`)アチャー
最初は、net/httpを使おうと思ったのだけどcookieの処理なんかが良くわからなかったので
httpclientライブラリをgemからinstallして実行。
ソースは以下
#!/usr/bin/ruby # niconico douga get script # need httpclient # %gem install httpclient require 'cgi' require 'rubygems' require 'httpclient' require 'pp' $KCODE = 'u' class Niconico def initialize @client = HTTPClient.new @mail = 'your mail addr' @password = 'your password ' @video_id = 'sm393379' end def login hash = {"mail" => @mail,"password" => @password } @client.post_content("http://www.nicovideo.jp/login",hash) end def get(video_id = @video_id) @video_url = "http://www.nicovideo.jp/watch/#{video_id}" @client.get_content(@video_url) flv = @client.get_content("http://www.nicovideo.jp/api/getflv?v=#{video_id}") hash = {} flv.split("&").collect do |e| key_value = e.split("=") hash[key_value[0]] = CGI.unescape(key_value[1]) end flvdata = @client.get_content(hash["url"]) #ここでflvをゲットしたいのだけど、レスポンス400が帰ってきちゃう。 File.open("#{video_id}.flv","wb") do |f| f.write(flvdata) end end end niconico = Niconico.new niconico.login niconico.get
なんか後ちょっとなのだけど、根本的に理解が足りない気がする。
悔しいなぁ。