Goutte(グート)でスクレイピングをする準備

Goutte

PHP のスクレイピング用ライブラリであるGoutte(「グート」と読むらしい*1)を使うための準備の方法です。実際の使い方はオフィシャルのドキュメントを見るほうが早いでしょう。

php-curl と php-xml を入れる

以下、Ubuntu 16.04 LTS を用いた場合です。

$ sudo apt-get install php-curl php-xml

composer を入れる

$ sudo apt-get install composer

Goutteと、関連ライブラリを入れる

$ composer require fabpot/goutte symfony/browser-kit symfony/css-selector symfony/dom-crawler

テストしてみる

以下のようなコードでチェックして正しく表示されれば OK です。

<?php
require __DIR__ . '/vendor/autoload.php';
use Goutte\Client;
$client = new Client();
$crawler = $client->request('GET', 'https://www.yahoo.co.jp/');
var_dump($crawler);

PHP でエラーメッセージを Web ブラウザに表示させない方法

かなり今さら感がありますが。

全ての PHP ファイルに対して非表示を指定する場合

php.ini に以下のように記述しましょう。もちろん表示する場合はOnです。

display_errors = Off

個別の PHP ファイルに対して非表示を指定する場合

個々のファイルに対して指定する場合はコード内に以下のように記述しましょう。php.ini の設定よりもこちらが優先されます。

ini_set("display_errors", 0);

表示する場合は第二引数を 1 としてあげて下さい。

実際の場面では

開発環境では一括で表示をする指定、本番環境では一括で非表示にする指定、という設定でいいかと思います。例外的な場合は個別に指定してあげるということで。

本番環境でエラーメッセージが出るといろいろバレて都合が悪い場合がありますし、何よりカッコ悪いですからね。

Powered by はてなブログ