Rubyとニコニコ動画APIで動画のタイトルを取得する
ニコニコ動画がAPIを公開していることを知ったので軽く触ってみました。Ruby 2.0.0で読み込んでみましたが、XMLで提供されているのでとってもお手軽です。
以下のコードはニコニコ動画APIのgetthumbinfoを使用して動画のタイトルを拾ってきます。URLにはニコニコ大百科の「ニコニコ動画APIとは」で使用されていたものをそのまま使っています。組曲『ニコニコ動画』のタイトルを拾ってきます。
require 'rexml/document' require 'open-uri' xml = open('http://ext.nicovideo.jp/api/getthumbinfo/sm500873') {|f| f.read} doc = REXML::Document.new(xml) doc.elements['nicovideo_thumb_response/thumb/title'].text
他のAPIもいくつか存在していたり、それらは基本的にログインが必要だったり、公式のJavaScriptファイルが存在していたり(?)、Javaでライブラリを公開している方がおられるようです。時間ができたらまた確認してみたいです。
ちなみにIRBやPRYで確認される時は先に
CHCP 65001
とか実行してから起動されるとUTF-8が文字化けしなくって幸せなんだと思います。
おまけ
上のサンプルコードを一般化すると以下のようになります。
#encoding: utf-8 require 'rexml/document' require 'open-uri' module NicovideoAPIWrapper extend self def get_thumb_info_xml(id) open("http://ext.nicovideo.jp/api/getthumbinfo/#{id}") {|f| return REXML::Document.new(f) } end end xmldoc = NicovideoAPIWrapper::get_thumb_info_xml('sm500873') xmldoc.elements['nicovideo_thumb_response/thumb/title'].text