
はじめに
ウェブサイトから情報を取得する場合、RSSやウェブサービスなどのAPIが用意されていればそれらを使うのが一般的ですが、もしサービス側でAPI等が用意されていない場合、どのようにしたら良いか? この問題を解決するのがスクレイピングと呼ばれる手法です。Webスクレイピングに役立ちそうなHTMLパーサーはいくつかありますが今回は導入や学習コストが低めなPHP製のライブラリ「Goutte」を使ったスクレイピング手法を説明します。
Goutteとは?
主要機能はSymfonyのコンポーネントで構成されており,生みの親はSymfonyプロジェクトリーダーのFabien Potencier氏です。.
Goutteでできないこと
冒頭で導入、学習コストが低いお伝えしましたが扱う難易度が低い分、出来ることに限りがあります。まず最も重要な注意点はJavascriptで生成されるコンテンツはGoutteでは取得ができないことです。理由はとてもシンプルで一般的にJavascriptはブラウザ上で実行されるプログラムであり、Goutteはブラウザではないからです。
※どうしてもJavasvriptをクローリングしながら実行したい場合はヘッドレスブラウザ を搭載したクローラーや実際のブラウザを使う必要があります。当サイトの下記ページでこの問題を解決しています。

Goutteをインストールしてみよう
php7でcomposerを使ったGoutteのインストール方法を説明します。

Goutteを使ってみよう
簡単なサンプルを例に使い方を説明します。

form送信に必要なデータを調べる方法

テーブル内のコンテンツを抜き出す最適なコーディング方法