Goutte(グート)とは
Goutteは必要十分な機能を持ったWebスクレイピングライブラリです。そもそもWebスクレイピングというのは、外部Webページから必要なデータを取ってくるくらいの意味です。つまり、GoutteはWebスクレイピングを簡単に行う道具だと考えればいいでしょう。
具体的には、GoutteはWebクローラとHTMLパーサを組み合わせたようなものです。Cookieやフォームの扱いなどWebブラウザとしての機能は一通り揃っていますし、CSS風の要素指定もできるなど、機能面では他のライブラリと遜色ないように感じます。
Goutteの実行例
Webスクレイピングのサンプルとして有名な、はてなキーワード「紺野あさ美」から数個のテキストを抜き出してみましょう。
use Goutte\Client;
$client = new Client();
$crawler = $client->request(‘GET’, ‘http://d.hatena.ne.jp/keyword/%BA%B0%CC%EE%A4%A2%A4%B5%C8%FE’);
list(list($title, $url)) = $crawler->filter(‘div.keyword-container a.title’)->extract(array(‘_text’, ‘href’));
$furigana = $crawler->filter(‘div.keyword-container span.furigana’)->text();var_dump($title, $url, $furigana);
上記を実行すると次の結果が得られます。string(15) “紺野あさ美”
string(39) “/keyword/%BA%B0%CC%EE%A4%A2%A4%B5%C8%FE”
string(18) “こんのあさみ”
WebスクレイピングライブラリGoutteで遊んでみる - hnwの日記
