#導入
以下URLを参照。
今回はPHP5.3の環境だったのでGoutte1.xのpharをダウンロードして使用。
https://github.com/FriendsOfPHP/Goutte
#準備
require_once __DIR__ . "/goutte-v1.0.7.phar";
use Goutte\Client;
使用例
リクエスト (request)
$client = new Client();
$crawler = client->request('GET', 'http://test.com');
ステータス取得
$client->getResponse()->getStatus();
タグから抽出 (filter)
// 最初(0番目)のpタグのテキストを抽出 (class指定)
$crawler->filter("p.class")->eq(0)->text();
// aタグのhtmlを抽出 (id指定)
$crawler->filter("a#id")->html();
// aタグのhrefの値を抽出
$crawler->filter("a.class")->attr("href");
// 同様なタグが複数ある場合順番に処理
$crawler->filter("div.class table")->each(function ($node){
// tdタグが存在した時だけ処理
if(count($node->filter("td")) !== 0){
echo $node->text();
}
});
## 現在のページのURLを取得
$client->getHistory()->current()->getUri();
リンクをクリック
// 「次へ」というテキストのリンクを探しリンク先を取得
$link = $crawler->selectLink("次へ")->link();
$crawler = $client->click($link);