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... »
この記事へのコメントは終了しました。
« ピックアップ:XML時代の終焉 ~ XMLから再びCoddへ, Google C++スタイルガイド 日本語訳, etc... | トップページ | ピックアップ:飯島愛に何が起きたのか, 日本OpenSolarisがキャラクター募集してる, etc... »
コメント