画像収集基盤の構築ログ1
自動画像収集基盤を作成しています。
- 収集基盤管理サーバー: Sinatra
- 動的サムネイル変換: thumbor
- クローラー+スクレイパー: Rubyスクリプト
- 画像メタ情報推定サーバー: Flask+illustration2vec
- DB: MySQL
RubyはGemが充実しているので、最短時間が作れると判断しました。将来的にLispでリプレイス予定です。
1日目
スクレイピングをするための基盤を作りました。スクレイパーにはURLを与えます。スクレイパーは、URLから設定ファイルをディスパッチします。設定ファイルにはスクレイピングするためのレシピが入っています。その後、設定ファイルをたくさん作成し、動作確認をしておきました。
2日目
DB設計を始めます。プロトタイプなので、そんなに複雑に考えません。たくさんのサイトを巡って情報の共通点を探り出しました。そこからどういう情報が必要か、どういう関連図になるかDB設計に落としていきます。スクレイピング時にDBへ記録するようにしました。
DBに格納したデータに基いてクローラーを回します。この時点では、まだタスクキューにはしていません。クローリング時に、画像は動的サムネイル変換サーバーを介して縮小変換をかけて、ストレージに保存しました。
管理サーバーの作成に取り掛かり、管理者の入力に応じてDBの値をいじったり、特筆事項をメモできるようにしました。
スクレイピングで剥ぎ取れなかったデータを補間するため、保存した画像をillustration2vecによるメタ情報取得を検討します。なかなかな精度だったため、本格的に載せることにしました。illustration2vecはPythonで動いているため、Flaskを導入し画像を入力とするメタ情報推定サーバーを構築しました。
つづく
まだシステム構築中ですが、引き続き作業を継続していきます。