食べログ.COM
レストラン情報取得API サンプル
http://sakura-computer.co.jp/webservice/tabelog/ta...
ソースコード
#!D:/ruby/bin/ruby.exe -Ku # # $Id$ # 食べログ.com WEBサービスAPIサンプル # 大阪の指定された駅名のレストラン情報を検索し、総合評価の高い10件を表示する。 # Auther:Yasuo Tabira(ytabira at gmail.com) require 'cgi' require 'erb' require 'open-uri' require 'pp' require 'rexml/document' REQUEST_URL = 'http://api.tabelog.com/Ver1/RestaurantSearch' begin cgi = CGI.new query = cgi.params uri = sprintf("%s?Prefecture=osaka&Station=%s&SortOrder=totalscore&ResultSet=large", REQUEST_URL, ERB::Util.u(query['Station'])) result = nil open(uri) do |f| obj = REXML::Document.new(f.read) result = obj.root end script = <<-"EOF" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>食べログ.com API サンプル</title> </head> <body> 大阪うまいもん検索 <form action="" method="get"> 駅名:<input type="Text" name="Station" value="#{query['Station']}"> <input type="submit"> </form> <%- if result.elements['Message'] -%> <font color="red">エラー:<%= result.elements['Message'] %></font> <%- else -%> <table border=1> <tr bgcolor="#cccccc"> <th>名前</th><th>総合評価</th><th>住所</th><th>電話番号</th><th>営業時間</th><th>休日</th> </tr> <%- result.elements.each('Item') do |item| -%> <tr> <th><a href="<%= item.elements['TabelogUrl'].text%>"><%= item.elements['RestaurantName'].text %></a></th> <th><%= item.elements['TotalScore'] != nil ? item.elements['TotalScore'].text : "なし" %></th> <th><%= item.elements['Address'] != nil ? item.elements['Address'].text : "なし" %></th> <th><%= item.elements['Tel'] != nil ? item.elements['Tel'].text : "なし" %></th> <th><%= item.elements['BusinessHours'] != nil ? item.elements['BusinessHours'].text : "なし" %></th> <th><%= item.elements['Holiday'] != nil ? item.elements['Holiday'].text : "なし" %></th> </tr> <%- end -%> </table> <%- end -%> <div style="margin:10pt 0"> <pre><%= uri %></pre> </div> <a href="http://apiblog.kakaku.com/"><img src="http://img.tabelog.com/images/banner/tabelog_api_135x17.gif " alt="食べログ.com WEB サービス" title="食べログ.com WEB サービス" border="0" /></a> </html> EOF e = ERB.new(script, nil, '-') print cgi.header e.run(binding) rescue => ex print cgi.header puts ex.message print ex.backtrace.inspect end
2008年03月02日(日) 10:29:48 Modified by y_tabira