プログラマでありたい

おっさんになっても、プログラマでありつづけたい

クローラー/スクレイピングのWebサービス 「Kimono」のユースケース

 クローラー/スクレイピング Advent Calendar 2014の8日目です。あと、全部俺Advent Calendarも開催中です。

 クローラー/スクレイピングをするのであれば、是非知っておいて欲しいサービスが「Kimono」です。Kimonoは、KimonoLabsという会社が作ったクローラー/スクレイピングを行うWebサービスです。特徴としては、プラグインを入れてブラウザの操作のみでスクレイピングができることです。操作を覚えれば、ITエンジニアでなくても充分使いこなせると思います。
 Kimonoの使い方については、プログラミング・レスで5分でサックリWebスクレイピング「kimonolabs」というエントリーで紹介しています。今回は取得したデータの利用方法とユースケースを考えてみたいと思います。

Kimonoで収集したデータの利用方法



 Kimonoで収集したデータは、API経由で参照できます。基本的には、APIを利用して表示用のプログラムを作成するという形になります。しかし、KimonoLabsが参照用のテンプレートを作成しているので、それを活用するという方法もあります。現在、KimonoLabsが提供しているテンプレートは、以下の6種類です。

  1. メール送信
  2. WebHooks
  3. MobileApp
  4. Embed
  5. Google SpreadSheet
  6. WordPress

f:id:dkfj:20141208003010p:plain

 MobileAppとEmbed、WordPressは基本的には同じです。URLもしくはHTMLが吐き出されるので、任意の場所に埋め込むという形です。MobileAppの場合は、URLをアプリとして登録するといった形になります。興味深いのが、Google SpreadSheetとWebHooksです。Google SpreadSheetについては、同じくChromeの拡張を入れた上でKimonoからスプレッドシートに関する操作権限を付与することで、データを取得したタイミングで直接書き込めるようにします。WebHooksについては、データ取得に任意のURLを呼び出すという機能です。呼び出された先の方で、リクエストをキーに処理を書いておけば基本的には何でもできます。
※ちなみに、Google SpreadSheetについては、メインのアカウントで使うには少し怖いのでまだ試していません。そのうちに、Kimono用のアカウントでも作って試そうかと考えています。

Kimonoのユースケース



 上記機能のユースケースとして考えられるのは、まずは可視化です。単純な例でいうと、グラフや時系列で見えるようにすることです。そういう意味で、GoogleのSpreadSheetに直接流し込めるのは、非常に面白いです。自分ならどう使うかというと、WebHooksを利用して後続処理を何らか作ります。図にすると次のような形ですね。
f:id:dkfj:20141208095953p:plain
 今の御時世だと、全部サーバレスで作れそうな勢いです。GoogleのBigQueryもいい加減試してみたいのですね。

まとめ



 AWS Lambdaが登場して、サーバ不要でバッチ的な処理が実行できるようになってきています。そして、Kimonoのように最近のWebサービスは、システム間を疎結合でつなぐ為の方法を当たり前のように出してきています。そうなると今までのように、自前のサーバで1から10まで全部実装するという考え方は、確実に時代遅れになってきています。この辺りの流れに上手く乗っかれば、小さな労力で面白い仕組みが作れるようになっていると思います。チャレンジしたいものですね!!
※大ヒットしたら最初のアーキテクチャでは耐えられないという場合もあるでしょうが、そうなってから考えれば充分です。

See Also:
KimonoLabsと今後のサービスのあり方のはなし
プログラミング・レスで5分でサックリWebスクレイピング「kimonolabs」

参照:
クローラー/スクレイピング Advent Calendar 2014
全部俺Advent Calendar

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例