何かに使えそう。Rubyを使ってニコニコ動画から情報を取得「Niconico」
Niconicoはニコニコ動画のログイン、ランキング、動画ダウンロードを行うRubyライブラリです。
みんな大好きニコニコ動画。単なる閲覧目的はもちろん、ニコニコ関連サービスを作るのも面白いと思います。もしあなたがRubyプログラマーであれば使ってみてもらいたいライブラリがNiconicoです。Mechanizeをラッピングし、ニコニコ動画に特化した機能を提供しています。
インストールは簡単です。gem install niconicoで完了します。別途Mechanizeをインストールしておかないといけません。
ログイン機能があります。ユーザID、パスワードを指定して行います。
機能としては二つあり、まずランキング取得ができます。この時にはカテゴリを指定する必要があります。
後は動画IDを指定してVideoオブジェクトを作り、それのget_videoで動画をダウンロードできます。
(利用規約には反していますが)動画のダウンロード目的に使ったり、ランキングを使って面白いサービスを作ったりするのに使えそうです。
Niconicoはソースコードは公開されていますがライセンスは明記されていないソフトウェアになります。
MOONGIFTはこう見る
Mechanizeはスクレイピングライブラリで、HTMLのWebサイトを解析して情報を取得するのによく使われています。Mechanize自体は汎用的なライブラリなので、どんなWebサイトでも使えます。それをニコニコ動画に特化させたのがユニークです。ライブラリ化し、RubyGemにしたことで誰でも手軽に使えるようにしています。
RubyGemに限らずライブラリ化することで作っているWebサービスと機能とを疎結合にし、テストも分けて行えるようになります。ニコニコ動画の変更があった場合もシステム全体を見直すのではなく、このライブラリだけで済みます。Web APIを使う疎結合もありますが、ライブラリ化による疎結合も考えるべきでしょう。