BLOGTIMES
2007/11/24

WWW::Mechanizeでニコニコ動画からflvをダウンロードする

  ruby  scrape  niconico 
このエントリーをはてなブックマークに追加

rubyのWWW::Mechanizeを使ってニコニコ動画からflvをダウンロードするスクリプト。

[ruby] ruby with mechanizeでニコニコ動画のダウンローダーを作ってみた - よしだメモ

ちょっとそのままでは動かなかったので、スクリプトを読んでみたらどうもloginを呼んでいないようだったのでget_flvからloginを呼んであげるようにしたら動くようになりました。こういうスクリプトがサクッと作れるWWW::Mechanizeってやっぱり便利だなぁ。phpでもこういうモジュール使えるようにならないかな。。。

改造箇所

多分、login?というメソッドがあるので、多分loginは一度だけやるようになるのが正しいのかなと思うのですが、僕の使い方ではどうせ1つずつしかダウンロードしないので一番単純なfixにしてあります。

--- nicovideo.rb.org 2007-11-23 23:20:55.451195545 +0900 +++ nicovideo.rb 2007-11-23 23:22:14.518875706 +0900 @@ -31,6 +31,7 @@ end def get_flv(id) + login Video.new(id) api = { } URI.decode(@agent.get("http://www.nicovideo.jp/api/getflv?v=" + id).body).split('&').each do |query|

2007/11/27追記

コメントでバグについて書いておいたら、早速バージョンアップされていました。
僕のへっぽこパッチよりよっぽどうまく動くようになっておりますので、こちらを使ってください。

[ruby] 続ruby with mechanizeでニコニコ動画のダウンローダーを作ってみた - よしだメモ


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2296
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    yu (2007/11/26 18:01) <%HatenaAuth()%>

    お、Snoopyを洗練させたような感じでしょうか

    hsur (2007/11/27 07:24) <%HatenaAuth()%>

    えーと、Snoopy自体を知らないのでちょっと僕には比較できません。
    実はあまりニコニコには詳しくないんですよ。。。。

    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン