いまやインターネットは最新の情報を集めるためのメディアとしては欠かすことができないものに成長。様々な情報を分析するためにはWeb上のニュース情報を分析することは欠かすことができないものとなりました。しかし、ニュースは大量なニュースメディアが日々、大量に更新していることもあり、より効果的な取得、分析方法を考えてクローラーの仕様を検討しないと、効果に対して費用が肥大化しやすく、ビジネスとしての継続性がなくなってしまいます。ビジネスにおいてはニュースを集めることではなく、集めたニュースを使って何かをすることが目的のはずです。コストを抑えて目標達成を実現するための検討ポイントをご紹介していきます。
ニュースのカテゴリを明確にする
ニュースをクローリングするツールを検討する場合、すべてのジャンルのニュースなのか、それとも特定の分野、もしくは特定の企業などに関連した情報だけを収集したいのかによってクローラーの仕様が大きく異なってきます。すべてのニュースとなってしまうと、コストを抑える方法はかなり難しいのですが、特定の分野だけであれば、取得対象を絞ったり、ニュースサイトのなかでもチェックする範囲を大きく絞ることができます。これで稼働量を減らしたり、取得するデータ量を抑えることができるようになります。
収集したニュースはどういったデータとして保存したいのか、最終保存形式を明確にする
クローラーでニュースを収集すると、最初の状態はHTMLファイルです。実はHTMLは数十万ページとたまってくるとファイル容量が決して小さくはありません。ニュースを取得する場合、最初は保存量は少なくても、それを1か月、半年、1年と継続して稼働させていくとかなりのデータ容量になり、保存しておくサーバ代、そしてデータを処理するアプリケーションサーバのコストが高額になっていきます。コストを抑えるためには、必要なデータ形式にして保存容量を少なくし、恒常的にかかってくる運用コストを抑える方法も最初から考える必要があります。もし、取得したHTMLファイルの中で、欲しい情報が特定のエリアだけであれば、そこだけを切り出して後はの部分は削除していくという方法があります。
ニュースの内容が必要なのか、それともニュースが掲載されていたという事実が必要のなのかをはっきりとさせる
昨今、ニュースサイトを運営している企業は、自社で作成したニュースを他社に掲載する権利を販売したり、集客のために一部を無償で提供したりしています。その結果、同じニュースが、ニュースサイト本体以外にポータルサイトにも掲載されていたりします。もし、ニュース内容だけが欲しい場合は、重複している内容のニュースは保存しておく必要がありません。多くの場合、HTMLのタイトルタグ内にはニュースのタイトル部分が記載されています。そこで、タイトルタグ内のニュース記事の見出しに相当する部分がかぶっていた場合、取得日時が古いほうをオリジナルとして保存し、コピーとして判断されたものは捨てていくという方法もあります。(もちろん、どちらがオリジナルかは時間だけではわからないという場合もあるので、そこまでをしっかり考える場合は、すべてとっておく必要がありますのでそこはプロジェクト要件からしっかりと考える必要はあります)
ニュースをとりたい、クローラーで保存したいというニーズは非常に高まってきています。しかし、ニュースは大量のサイトが、毎日、たくさん作りだすためすべてを取得しようとするとコストはどこまであがっていってしまいます。現実的なコストの範囲内で運用するためには、ポイントを抑えて仕様をまとめる必要があります。