EventTrackタグ, CallCVタグも拾うように変更。ログの保存の仕方を少しだけマシにした。

TODO
・キャッシュをメモリからファイルへ
・logファイルにタイムスタンプを打つ
・spだけのクローニング
・UserAgentをちゃんとする
与えられたurlを見て末尾にspがつく場合にはUserAgentをiOS6 Safariに偽装するように設定。
与えられたurlを見て末尾にspがつく場合には/sp/ディレクトリ内だけをクローニングするように変更。
spがつかない場合は/sp/ディレクトリを除外してクローニングする。
/img/ディレクトリ以下,/upimg/ディレクトリ以下をクローニング対象から除外するように変更。
無駄なリクエストを減らすのでリクエスト間隔を長めにとってもストレスが少なくなったはず。
クローニング中のキャッシュの保存に/tmpディレクトリ内のファイルを指定。メモリの節約になるはず。
jpg, gif, png, pdf等のファイルをリクエストしないように設定。
今までの記述完全に間違えてました...。
タグが全く入っていないページをカウントできないバグを修正。
ログの先頭にタイムスタンプを押すようにした。
リファクタリング
Shikakeをモジュールに分割することにした。
まずはShikake::Spiderが返す予定のShikake::Profileを少しだけ書いた。
キャッシュデータ用のディレクトリ /tmpを.gitignoreに登録。
Shikake::Profile#[]追加。
Shikake::Profile#select, Shikake::Profile#reject, Shikake::Profile#values を実装した。
Shikake::Profileのためのテストを書いた。
Shikake::Profile#length, Shikake::Profile#map を実装。
keyをなるべくsymbolに統一するようにした。
クローラーとしての機能を./lib/spiderに分離。全面的に書き直した。
クロールした結果から特定のデータを検索するShikake::Profile#find_allを書きかけであきらめた。
あと、Shikake::Profile#map を書き変えたけど、テスト通してない。
Shikake::Profile#find_all を実装。
クロール開始時点, クロール終了時点, ルートURLをShikake::SpiderからShikake::Profileに引き渡すようにした。
まともにクローニング→画面出力まではできるようになった。