Gouttteの使い方
テストで最近よく使うので、PHPの代表的なスクレイピングライブラリであるGoutteの使い方をまとめます。
また実際にGoutteで、HTMLファイルから取得したいボタンを選択してみます。
Goutteのインストール
Composerでインストールします。
$ cd path/to/goutte
$ composer require fabpot/goutte
Goutteの大まかな使い方は以下のような手順になります。
1. Goutteの読み込み
2. Goutte クライアントを作成
3. ページをリクエスト
4. 取得したCrawlerオブジェクトのメソッドでスクレイピング
Goutteの読み込み
Goutteの読み込みは以下のように行います。
一度書いてしまえば、あとは3番からを繰り返せばいいはずです。
require_once 'path/to/goutte/vendor/autoload.php';
use Goutte\Client;
Goutte クライアントを作成
$client = new Client();
クライアントにページをリクエストする
$crawler = $client->request('GET', 'http://example.com/');
上記では$crawlerにhttp://example.com/へGETリクエストをさせています。
実際にページをスクレイピング
$name = $crawler->filter('body > name')->text();
実際にHTMLファイルからボタンを選択する
今回はファイル上にあるTransferボタン(Typeはsubmit)を選択するものとします。
selectButtonの中には取得したいボタンのラベル名、もしくはname属性を指定してあげると取得することができます。
同じファイルの中に、同じname属性、もしくはラベル名が存在するときには、別のname属性をつけてあげるか、異なる方を指定してあげると良いと思われます。
$crawler->selectButton('Transfer')