sax-machineでyahoo画像検索APIを叩いてみる

一応最新版でのサンプルということで

# -*- coding: utf-8 -*-

require 'open-uri'
require 'uri'
require 'sax-machine'

module ApiParser
  module YahooImageApi
    class Result
      include SAXMachine
      element :Url
      element :Title
      element :ClickUrl
      element :RefererUrl
      element :SUmmary
      element :FileSize
      element :FileFormat
      element :Height
      element :Width
      element :Thumbnail
      element :Restrictions
    end

    class ResultSet
      include SAXMachine
      elements :Result ,:as => :results,:class=>Result
      
      def self.parse_url(url)
        self.parse(open(url).read)        
      end
    end
  end
end

if __FILE__ == $0
  word = '田村正和'
  apiid = '************************************'
  url = "http://search.yahooapis.jp/ImageSearchService/V2/imageSearch?"+
    "appid=#{apiid}"+
    "query=#{URI.encode(word)}&adult_ok=1"
  p ApiParser::YahooImageApi::ResultSet.parse_url(url)
end

アダルトOKなのはご愛嬌