image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:XML時代の終焉 ~ XMLから再びCoddへ, Google C++スタイルガイド 日本語訳, etc... | トップページ | ピックアップ:飯島愛に何が起きたのか, 日本OpenSolarisがキャラクター募集してる, etc... »

2008-12-24

ruby で web-service API を利用してみる(その2)

- http://soogle.ddo.jp/calapi/
> 料理名をデータとして渡すと、それに対するカロリーとその合計を返してくれるwebserviceです。
というサービスを見つけた。
これを ruby で呼び出す例も作ってみた。

cat calapi.rb

# See http://soogle.ddo.jp/calapi/
#    料理名をデータとして渡すと、それに対するカロリーとその合計を返してくれるwebserviceです。

require 'open-uri'
require 'rexml/document'
require 'pp'

$KCODE = "utf8"

def search_station (key)
  result = []

  url = "http://soogle.ddo.jp/calapi/api?name=" + URI.escape(key)
  open(url) do |http|
    res = http.read
    doc = REXML::Document.new res
    doc.elements.each('/result/kcalInfo/item') do |elm|

      result << {
        :menuName => elm.elements['menuName'].text.to_s,
        :kcalSmall => elm.elements['kcalSmall'].text.to_s,
        :kcalMiddle => elm.elements['kcalMiddle'].text.to_s,
        :kcalLarge => elm.elements['kcalLarge'].text.to_s,
        :kcalMega => elm.elements['kcalMega'].text.to_s }

    end
  end

  result
end

result = search_station '牛丼'
pp result

$ ruby calapi.rb
[{:kcalMega=>"1244.4",
  :menuName=>"牛丼",
  :kcalSmall=>"544",
  :kcalMiddle=>"714",
  :kcalLarge=>"1020"},
{:kcalMega=>"1152.9",
  :menuName=>"牛丼",
  :kcalSmall=>"504",
  :kcalMiddle=>"661.5",
  :kcalLarge=>"945"}]

« ピックアップ:XML時代の終焉 ~ XMLから再びCoddへ, Google C++スタイルガイド 日本語訳, etc... | トップページ | ピックアップ:飯島愛に何が起きたのか, 日本OpenSolarisがキャラクター募集してる, etc... »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ruby で web-service API を利用してみる(その2):

« ピックアップ:XML時代の終焉 ~ XMLから再びCoddへ, Google C++スタイルガイド 日本語訳, etc... | トップページ | ピックアップ:飯島愛に何が起きたのか, 日本OpenSolarisがキャラクター募集してる, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク