スクレイピングとかするとき
下記を簡単にするためのLinkSeekerというモジュール作りました。後、ネストしてscrapingできるように。でも、ドキュメントもテストもないです(^^;master/sample ディレクトリ内の news.yml 見ていただければと思います。
- 取って来て保存する(LWP::UserAgent, File::Slurp)
- 解釈して、データ化する(Web::Scraper, Storable/Data::Dumper)
- データをDBに入れる(DBIC)
と段階を踏むようにしています。
プログラム内で分けるというよりは、別々のプログラムから実行できるようにしています。
1番目をしとくと、オフラインでも2番目以降の処理ができる。
2番目の解釈は意外と時間がかかる場合があるので、
3番目の処理を片付けるときに時間のロスがない。
Web Serviceとかだと、1番目と2番目がセットみたいなもんなんで、
取ってきたデータを、Storeしときます。
現物をおいといたほうが、問題があったとき調査しやすいってのもあります。