Webページを自動収集、解析する仕組みを作るー1日目

Webページから定期的に情報を収集し、それをDBに溜めて、解析していみたいという要求が出てきた。しかし、wgetとかでWebからHTMLダウンロードして、そのHTMLを解析するのは相当な苦労になりそうと思った。なので、なるべく自分がすでに持っているWebの能力で、まず収集すること実現できないか考えてみる。

Webページを閲覧するなら、やはりGUIのWebブラウザを使うのが手っ取り早い。GUIのWebブラウザ上でよく使う手は、Grease Monkeyを書くことで、WebページをjavascriptでDOM操作して、データ抽出する方法だ。ただ、Grease Monkeyだけでは応用が難しいと思うので、自作アドオンを作ることにした。

作戦は以下のとおり。

  • CentOSFirefoxを動かす。
  • Firefoxのアドオンを作り、そのアドオンでWebページを解析、必要データを抽出し、サーバに送る
  • サーバはPythonでRESTのWebサービスとする。

サーバにCentOSを選んだ理由は、なんか安定してそうだからというだけで、。

LinuxサーバとMacOSで同じバージョンのFirefoxを使う-Firefox ESR

CentOSサーバと開発マシンであるMacOSで、同じバージョンのFirefoxを使いたい。さらに、最近のFirefoxは更新速度が早いため、開発開始時のバージョンをしばらく使い続けようかとも思っていた。だが、やはりあるもので、Firefox ESRという延長サポート版が存在した。

http://www.mozilla.jp/business/downloads/

それでも、1年に1度はメジャーアップデートするという。そういう時代です。

サーバとして使いたい場合は、とりあえずこれを選択するだろう。そして、CentOSで、Firefoxをyum updateすると、なんとESRの最新版がインストールされる。MacOS版のFirefox ESRをダウンロードすれば、CentOSサーバとMacOS開発機で同じバージョンを用意することができた。

Firefoxのアドオンを作る環境を整える

Firefoxのアドオンの作り方でググると、多少サイトは出てくるが、これだけリリースの早いFirefoxでどれを信じて良いのかわかなくなった。結論としては、ブログは全く当てにせず、公式サイトを見ろ!という結論になった。

リンクの辿り方は以下のとおり。

Firefox アドオン 作成」でググっても、どのサイトにも「SDK使え!」なんて書いてなかった。SDKを使うと、テストとか楽そうです。

今日はここまで

GWの後半4連休でほとんど進めなかったので、これからの土日に少しずつ作って見よう。