ぷろぐらみんぐ帳

C#とかJavaScriptとか

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に突っ込むのがポイント。