3. 環境準備

3.1. Webサーバとプログラミング環境の整備

スクレイピングをするためには、幾つか準備するものが必要です。以下、その環境整備について記載します。

■ Webサーバ
スクレイピングしたいサイトから情報を取得・加工するためにはWebサーバが必要です。またWebサーバにはサーバサイドプログラミングができるようなプログラミング言語が必要になります。また、Webサーバは外部のサイトに接続できるような場所においておく必要があります。なお、ここではproxyを越えて情報を取得・加工する方法についても述べる予定です。
■ プログラミング言語
Webサーバ上で動作するプログラミング言語には幾つか種類があります。最も有名なのはperlだと思います。perl以外の言語ではphpやrubyなどがあります。このサイトではphpを用いて話しを進めていきます
■ phpのライブラリ
phpには幾つかの便利なライブラリが存在します。ここでは下記のようなライブラリを用います。

3.2. Webサーバの導入

Webサーバは特に何でなければいけないという制約はありません。サーバ構築についての細かな説明はここでは省略しますが、phpが動作するWebサーバとしてWindows ユーザ、Linuxユーザでも簡単に導入できることから XAMPP がお薦めです。XAMPPは、Apache, MySQL, PHP + PEAR, Perl, phpMyAdmin などのWebサーバおよびWebサーバでよく利用されるプログラミング言語が一括でダウンロード、インストールできる便利なソフトウェアです。
Widnowsを利用しているユーザが殆どだと思うので、ここではWindows PC に XAMPP をインストールしたと仮定して話しを進めます。
XAPMM は下記から入手可能です。

なお、ここでは、XAMPPのインストールなどについては言及いたしませんので、予めご了承ください。今、Windows PCに下記のような構成でxamppがインストールされたと仮定して、今後の説明を進めます。

インストールディレクトリ
C:\apachefriends\xampp\
ドキュメントルート
C:\apachefriends\xampp\htdocs\

3.3. phpの環境確認

htdocsフォルダの下に新しく「test」というフォルダを作成してみましょう。そしてそこに「index.php」というテキストファイルを作成します。Webサイドのプログラミングをするには、テキストエディタで且つ文字コードを変更できるエディタが必要です。何でもよいのですが サクラエディタ などでもよいかと思います。
で、index.phpはこんな感じで記載します。


このファイルを保存し、ブラウザを開いて下記のようにURLを入力します。

http://localhost/test/index.php

すると、phpinfoの情報が表示されるはずです。phpinfo()はPHPのバージョンや利用できるモジュール、その他の情報などが表示されるので非常に便利なのでこの機会に覚えておきましょう。で、確認事項は、とりあえず下記2点。

  • 「tidy」が利用できる
  • 「mbstring」が利用できる
phpinfo()に上記の情報が存在しない場合はインストールする必要があります。
PEARなどを使ってインストールするとよいでしょう。 インストール手順は、PHP: Tidy 関数PHP: マルチバイト文字列関数 (mbstring)を参考にしてみてください。proxy越しにPEARを利用する際は、コマンドラインから

C:\set HTTP_proxy=http://proxy.example.com:8080/

C:\pear install tidy


などとするとよいでしょう(多分)。

3.4. proxy.php のダウンロード

tidyおよびmb_stringが利用できるようになれば、殆ど終了なのですが、ここで、もうひとつ下記のファイルを準備しておくとよいでしょう。
そのファイルは proxy.php というファイルです。
名前の通り、プロクシサーバを解して情報をやりとりするために必要なファイルですが、プロクシを利用しない場合にも利用でき、更に、他のサーバのHTMLファイルを取得するのにかなり便利なので、このファイルを利用することにしてみましょう。
この proxy.php は pukiwiki にバンドルされていたファイルです。proxy.php は下記からダウンロードできます(多分GPLライセンス)。ダウンロードしたファイル名は proxy.phps となっているので proxy.php にリネームしてお使いください。

proxy.phps
(右クリックで保存してください。また、ファイル名をproxy.phpにリネームしてください)

ここまで終われば、殆どの環境準備が完了したと思われます。
次の章では、この proxy.php を利用して実際にWebサイトのHTMLの情報を取得してみます。