Upload
yoshinori-kobayashi
View
771
Download
1
Embed Size (px)
Citation preview
【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第10回
TickleCode
Yoshinori Kobayashi 1
Sinatra x Kimono で作る焼き鳥店舗リスト
“Kimono” is web scraping service
2
生まれは 奈良県 です
小林由憲(こばやしよしのり)
Twitter:
TickleCode ブログ:
@yoshiii514
もくもく会(自主勉強会) を複数の運営メンバーや アドバイザーの方々と ともに、定期開催しています。
勉強会を開催しています)^o^(
3
【CoEdo.rb】
Ruby / Ruby on Rails ビギナーズ勉強会
Swiftビギナーズ勉強会
WordPressもくもく 勉強会
http://wp-moku.doorkeeper.jp/
https://swift-beginners.doorkeeper.jp/
https://coedo-rails.doorkeeper.jp/
自己紹介
5
Sinatra x Kimono サイト構成
データ
Scraping
API
Kimono はクラウドサービス Kimono が定期的にスクレイピングしてデータを蓄えてくれる。 蓄えたデータをAPIで利用できる。
今回のプログラムソースは次のGitHubにあります。
6
Kimono > Sinatra > Webサイト
デモします。
https://github.com/YoshinoriKobayashi/sinatra_kimono_yahoo_restaurant
7
Kimono について
マウスでなぞるだけで、あらゆるデータ取得をAPI化——Y
Com出身のスタートアップKimono Labsにインタビュー
2014.8.5 | THE BRIDGE
8
Kimono を手っ取り早く学ぶなら
https://www.kimonolabs.com/learn
★チュートリアル動画
14
Kimono Pricing Plan
★フリープラン
・API無制限 ・スケジュール実行 ・APIは公開(だれでも) ・過去30日間のデータにアクセス化
★エンタープライズプラン
・サポート(24時間365日) ・プライベートAPI(非公開) ・高速クロール ・独自APIの開発
15
Kimono Smart App Builder
https://www.kimonolabs.com/newapp
スマホアプリ(HTML版)をジェネレート
17
Sinatra Gemfile
source "https://rubygems.org"
gem 'sinatra', '~> 1.4', '>= 1.4.7'
gem 'rest-client', '~> 1.8'
Ruby で REST リソースにアクセスするための REST Client
RESTに対応している、restclient が便利!
18
Sinatra main.rb
require 'sinatra'
require 'sinatra/reloader'
require 'rest_client'
require 'json'
module JSON (Ruby 2.2.0)
APIの結果がJSONなので、JSONモジュールが便利!
19
Sinatra main.rb
get '/' do
rest = RestClient.get
'https://www.kimonolabs.com/api/34330hpu?apikey=cg9dj
d7otr92ApB2hF22VSs8vEWo7vK3'
rest_json = JSON.parse(rest)
#店舗リストを抽出
@shibuya_shops = rest_json["results"]["collection1"]
erb :index
end
20
Sinatra index.erb
<h2>渋谷・表参道・青山</h2>
<%
# 1店舗ずつ情報を出力
for shop in @shibuya_shops do
<div class="col-sm-6 col-md-3">
<div class="thumbnail">
<img src="<%= shop['image']['src'] %>"
alt="<%= shop['image']['alt'] %>">
<div class="caption">
<h3><a href="<%=
shop['shop_name']['href'] %>"><%=
shop['shop_name']['text'] %></a></h3>
・・・・
% end %>
21
Sinatra のススメ!
Railsでなかなか学習が進まない人や、難しいと感じて
いる人はSinatraから初めてみるとよいかもしれないで
す。
Sinatraにはコードを自動生成する機能がないので、1
つずつ組み立てることになりますが、それがMVCを理解
しやすくしてくれます。
また、Rubyの基本文法やGemfile・erbなども活用する
のでRailsを学習していくための基礎体力が身に付きま
す。
22
今後の問い合わせ先
何かございましたら、
ご連絡ください(・∀・)
Twitter: @yoshiii514
Facebook: Yoshinori.Koba
Mail: [email protected]
最後に