ニコニコ動画 ランキング取得スクリプト
・ニコ動ダウンロード用gem更新(ver 0.1.0) - にたまごほうれん草
nicovideo gemがバージョンアップ(0.0.6 → 0.1.0)したようです。エコノミー動画の判別機能の取込みありがとう御座います。
新機能(ランキング取得機能)のサンプル書いてみました。
#!/usr/bin/ruby -Ku require 'rubygems' require 'nicovideo' conf = YAML.load(open("conf.yaml") ) nv = Nicovideo.new(conf['mail'], conf['password']) cnt = 0 nv.ranking.each do |vp| cnt += 1 printf "%3d位 %-12s %s \n", cnt, vp.video_id, vp.title end
出力は以下。
1位 sm2400989 【初音ミク】たちが「君をのせて」を歌いました 2位 sm2419123 日本の首都は千葉!滋賀!佐賀!なのか?最終鬼畜都道府県 3位 sm2415483 【MGS】超高音質で聴くメタルギア神曲メドレー【192kbps】 4位 sm2414456 テンションが上がる東方ヴォーカル集 5位 sm2420025 3Dミクを躍らせるツールを自作してみた(説明前編) 6位 sm2418775 (MAD)魔法少女リリカルなのは Faze To Love 7位 sm2419990 【完成版】 CLANNAD 『KOTOKO/覚えてていいよ』 Full Ver. 8位 sm2405922 ニコニコ in ぷよぷよ その2 9位 sm2416947 ハルヒたちを性転換させてみた 10位 sm1912604 FF7神曲メドレー 完全版 (動画付き) ...(以下略)
これは便利。ちなみにrankingメソッドにはtype, span, category, pagenumを指定できます。以下の形式です。
# type : 'mylist', 'view' or 'res' # span : 'daily', 'newarrival', 'weekly', 'monthly', 'total' # category : 'all', 'music' ... and more def ranking(type='mylist', span='daily', category='all', pagenum=nil)
現在pagenumに値を設定すると落ちるようです。たぶんtypo。→修正されました。(0.1.1)
以下のように定義し直せば動きます。
module Nicovideo class Ranking def url url = "#{BASE_URL}/ranking/#{@type}/#{@span}/#{@category}" if @pagenum url += '?page=' + @pagenum.to_s end url end end end