Goutte Web スクレイピング

Goutte Web スクレイピング概要

Goutte(グット)は、PHP製のWebスクレイピングのライブラリでスクレイピング目的だけではなく、 ブラウザを操作することも可能です。
また、主要機能は Symfony のコンポーネントで構成されています。
そもそも Web スクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。
つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。
Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし CSS 風の要素指定もできるなど、 よくできています。
なんといっても自動でWebサイトからデ-タ収集するには最適のツ-ルといって良いでしょう。
ちなみに Goutte というのはフランス語でしずく、または水滴といった意味のようです。

Composer Goutte インスト-ル

Goutte ライブラリ-は Composer からインスト-ルします。
Composer がインスト-ルされていない方は、まずは
Composer インスト-ル1
を読んで、Composer をインスト-ルしてください。
Composer がインスト-ル済みの方は
PHPExcel のインスト-ル2
を参考にして、Goutte ライブラリ-をインスト-ルします。

Composer インスト-ラの起動

XAMPP がインスト-ルされているフォルダ
C:\xampp\php
を見てください。
ここに、composer.bat があるはずです。
もし、見つからない人は PHPExcel のインスト-ル2
をもう一度見直してください。
C:\xampp\php\composer.bat
が composer のインスト-ルファイルです。
なんと bat ファイルがインスト-ルファイルなのです。
前近代的なつくりになっています。
Windows 10 の場合は、左下隅
「スタート」(Windows マーク)を右クリック→「コマンドプロンプト(c)」 と進みます。
Windowsシステムツ-ルの中にある「コマンドプロンプト」を
(「管理者として実行(A)」する必要はないようです)
実行します。
(古いですね、化石ソフト?-コマンドプロンプト でもまだ現役です)
C:\Users\ユ-ザ>
の画面が開きます。
続いて
cd\xampp\php
と書き込んで実行します。(ディレクトリを変更しました)
C:\xampp\php
となりますので、これで Composer インスト-ラ①の起動準備②は完了です。

Goutte のインスト-ル1

それでは、インスト-ラ①を使って Goutte パッケ-ジをインスト-ルしたいと思います。
Packagist の公式サイト
に行くとその名前が出てきます。
Packagist 検索サイト
に行くと検索画面が出ますのでここにパッケ-ジ名 Goutte を入れてみてください。
「Goutte」と入れて「Enter」キ-を押せば Goutte 関連のパッケ-ジがでてきます。
ちなみに IE では見付けることがきできません。
Chrome 等で検索してください。
この時、最初に出てくる fabpot/goutte をインスト-ルします。

Goutte のインスト-ル2

Composer インスト-ラ①の起動準備②が完了したら C:\xampp\php>
と表示されているはずですので、その後に引き続き、
composer require fabpot/goutte
と入力して「Eeter」キ-を押します。
Netには必ず接続しておいてください。-ここ重要-
かなり時間がかかって(1分ぐらい)コメントが沢山出てきてインスト-ルが完了します。

Goutte コマンドプロンプト画面

Goutte インスト-ル確認

Goutte をインスト-ルしました。
どこにできたかというと、エクスプロ-ラで見ると
C:\xampp\php\vendor
 └ autoload.php
 └ \fabpot
 └ \guzzlehttp
 └ \psr
  └ \http-message
 └ \symfony
のようなフォルダ構造があるはずです。
これらのフォルダの中にあるのが Goutte パッケ-ジ群です。
この vendor フォルダにインクルードパスを通さないと Goutte パッケ-ジを利用することはできません。
パスが通ると PHP ファイルを作成したとき、例えば
require 'autoload.php';
use Goutte\Client;
と書いたとき正常に動きます。
インクルードパスには複数のパスを記述でき、セミコロン(;)で区切って続けて記述できます。
Xampp PHP のデフォルトでは
C:\xampp\php\PEAR
がインクルードパスに設定されています。
C:\xampp\php 直下に php.ini ファイルありますのでこれを TeraPad で開いて見てください。
724行目あたりに
include_path = C:\xampp\php\PEAR ・・・・③
があり、そのすぐ下に
; Windows: "\path1;\path2"
なるコメントがあります。
これがインクルードパスを複数設定するための方法です。
追加するパスは
C:\xampp\php\vendor
ですから、③を
include_path = "C:\xampp\php\PEAR;C:\xampp\php\vender"
と書き換えれば、2つのフォルダにパスが通ります。
なお、" "内には「半角スペ-ス」や「改行」は使うことができないので長くなりますが続けて書いてください。
書き換えが終わったら php.ini を保存して終了してください。
XAMPP を再起動すると2つのフォルダにパスが通ります。

Goutte をサ-バ上で動かす

Goutte をサ-バ上で動かすには
Composer をサ-バ上で動かす を参照して、
C:\xampp\php\vendor
 └ autoload.php
 └ \fabpot
 └ \guzzlehttp
 └ \psr
  └ \http-message
 └ \symfony
を全部サ-バに入れる必要があります。
そして、サ-バ上の Composer にパスを通すことも必要となります。

これで、Goutte のインスト-ルは完了です。
引き続き、単純な Goutte ファイル scraping-mmlbbs21.php を作成していきます。

長くなりましたのでここで一旦切りたいと思います。


単純な Goutte ファイル作成 に続く

63PearVillageに戻る