PHP
test

HTMLファイルから取得したいボタンを選択する

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')