Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sinatra x Kimono で作る焼き鳥店舗リスト “Kimono” is web scraping service|【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第10回

1,778 views

Published on

2016年1月30日に開催された、「【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第10回」での発表資料です。
https://coedo-rails.doorkeeper.jp/events/36261

ショートセッション(10分程度)で発表しました。

Kimonoは簡単にWebページをスクレイピングしてデータとして蓄積してくれるサービスです。蓄積されたデータはAPIとして、取得することができます。
ページネーションやAjaxを使っているWebページもスクレイピングすることができるのでとても便利です。
スクレイピングはクーロン(タスク指定)ができますので、一定間隔でデータを更新することができます。

フレームワークはSinatraを使っています。
Sinatraはとても軽量で簡単です。自動的なコード生成がないので、MVCモデルも理解しやすいです。
小さな個人サービスを制作するにはとても相性のよいフレームワークだと思います。

=================

「Ruby / Ruby on Rails ビギナーズ勉強会」は初心者が集まって発表したり、自主学習する勉強会です。定期開催しています。

★開催の連絡は以下の方法で受け取ることができます。

## DoorKeeperグループ
イベント申し込みを受け付けている、DoorKeeper でのグループです。
https://coedo-rails.doorkeeper.jp/

## Facebookグループ:
イベント告知や技術情報をお互いにシェアしています。
https://www.facebook.com/groups/rorbeginners/

## Twitterハッシュタグ
ハッシュタグは、 #coedorb です。
Twitterにもイベント、勉強会の情報を流しています。

★勉強会で発表されたスライド、動画をまとめています。
Ruby / Ruby on Rails ビギナーズ勉強会 スライド・動画 #coedorb
http://matome.naver.jp/odai/2143761931840509901

★勉強会を動画収録しています。
## Ustreamで勉強会を中継しています。
http://www.ustream.tv/channel/ruby-ruby-on-rails-%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E3%82%BA%E5%80%B6%E6%A5%BD%E9%83%A8

## Youtubeでセッションを動画収録しています。
https://www.youtube.com/playlist?list=PL2ojdc4KhtHniIyIUx3AdO621ydzz5zpP

Published in: Software
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Sinatra x Kimono で作る焼き鳥店舗リスト “Kimono” is web scraping service|【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第10回

  1. 1. 【CoEdo.rb】Ruby / Ruby on Rails ビギナーズ勉強会 第10回 TickleCode Yoshinori Kobayashi1 Sinatra x Kimono で作る焼き鳥店舗リスト “Kimono” is web scraping service
  2. 2. 2 生まれは 奈良県 です 小林由憲(こばやしよしのり) Twitter: TickleCodeブログ: @yoshiii514
  3. 3. もくもく会(自主勉強会) を複数の運営メンバーや アドバイザーの方々と ともに、定期開催しています。 勉強会を開催しています)^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/ 自己紹介
  4. 4. 4 Kimono とは? クラウド上で他のサイトをスクレイ ピングしてくれて、データも蓄積。 データを取得するためのAPIも生成 してくれる。 スクレイピングのための工数が大幅 に削減できる!!
  5. 5. 5 Sinatra x Kimono サイト構成 データ Scraping API Kimono はクラウドサー ビス Kimono が定期的にスク レイピングしてデータを 蓄えてくれる。 蓄えたデータをAPIで利用 できる。
  6. 6. 今回のプログラムソースは次のGitHubにあります。 6 Kimono > Sinatra > Webサイト デモします。 https://github.com/YoshinoriKobayashi/sinatra_ki mono_yahoo_restaurant
  7. 7. 7 Kimono について マウスでなぞるだけで、あらゆるデータ取得をAPI化——Y Com出身のスタートアップKimono Labsにインタビュー 2014.8.5 | THE BRIDGE
  8. 8. 8 Kimono を手っ取り早く学ぶなら https://www.kimonolabs.com/learn ★チュートリアル動画
  9. 9. 9 Kimono の特徴 Chrom拡張機能を使って、 Webページ上で項目を指定できる。
  10. 10. 10 Kimono の特徴 CSS セレクタで項目を指定することもできる。
  11. 11. 11 Kimono の特徴 クロール頻度が設定できる。(日・週・月)
  12. 12. 12 Kimono の特徴 ページネーション、Ajaxに対応している。
  13. 13. 13 Kimono の特徴 Modify Results: 取得したデータをクラウド上で整形して、API で返すことができる。
  14. 14. 14 Kimono Pricing Plan ★フリープラン ・API無制限 ・スケジュール実行 ・APIは公開(だれでも) ・過去30日間のデータにアクセス化 ★エンタープライズプラン ・サポート(24時間365日) ・プライベートAPI(非公開) ・高速クロール ・独自APIの開発
  15. 15. 15 Kimono Smart App Builder https://www.kimonolabs.com/newapp スマホアプリ(HTML版)をジェネレート
  16. 16. 16 Sinatra について MVCモデルの軽量フレームワーク。 コードを自動生成する機能はないが、コンパクトで学習コ ストがかなり低くとても使いやすい!
  17. 17. 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. 18. 18 Sinatra main.rb require 'sinatra' require 'sinatra/reloader' require 'rest_client' require 'json' module JSON (Ruby 2.2.0) APIの結果がJSONなので、JSONモジュールが便利!
  19. 19. 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. 20. 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. 21. 21 Sinatra のススメ! Railsでなかなか学習が進まない人や、難しいと感じて いる人はSinatraから初めてみるとよいかもしれないで す。 Sinatraにはコードを自動生成する機能がないので、1 つずつ組み立てることになりますが、それがMVCを理解 しやすくしてくれます。 また、Rubyの基本文法やGemfile・erbなども活用する のでRailsを学習していくための基礎体力が身に付きま す。
  22. 22. 22 今後の問い合わせ先 何かございましたら、 ご連絡ください(・∀・) Twitter: @yoshiii514 Facebook: Yoshinori.Koba Mail: info@ticklecode.com 最後に
  23. 23. 23 ご清聴ありがとうございました。

×