Goutteでhtmlファイルからスクレイピングする方法
Goutteにはダウンロード用のクライアントがついているが、ファイルからHTMLの構造解析をしたいことがある。その方法のメモ。
事前準備:FriendsOfPHPから「>If you need support for PHP 5.3 or Guzzle 3, use Goutte 1.x (latest phar).」にある goutte-v1.0.7.phar をダウンロード。実行するphpと同じフォルダに置く。
goutteのバージョンは2以降もあるが、ここではv1.0.7を使用するものとする。
<?php require_once "./goutte-v1.0.7.phar"; use Symfony\Component\DomCrawler\Crawler; $filestr = file_get_contents("hogehoge.html"); $crawler = new Crawler($filestr); $hoge = $crawler->filter("div.hoge")->eq(0); /*<div class="hoge">の1つ目 以下、通常の場合と同様*/
useをこのようにして、ダイレクトに文字列をCrawlerに突っ込むのがポイント。