Goutteをインストール
composer require weidner/goutte
config/app.phpを編集
'providers' => [
・
・
・
Weidner\Goutte\GoutteServiceProvider::class, // 追記
],
'aliases' => [
・
・
・
'Goutte' => Weidner\Goutte\GoutteFacade::class, // 追記
],
使用することを宣言
use Goutte;
ページを取得
$page = Goutte::request('GET', 'URL');
例)
$url = "https://yahoo.co.jp";
$page = Goutte::request('GET', $url);
スクレイピング
$selector = $page->filter('対象のCSSセレクター');
例)
$selector = $page->filter('#content > div > h1');
‘対象のCSSセレクター’の抽出方法
例)広島県の最高気温を取得する場合
1.対象のページを開き「F12」キーを押下して開発者ツールを表示する。
2.開発者ツールの「矢印」を押下する。
3.取得したい項目にカーソルを合わせる。
4.開発者ツールの対象エレメントで、右クリック -> 「Copy」 -> 「Copy selector」でコピーしたものを、
$name = $page->filter(‘map > ul > li.point.pt6710 > a > dl > dd > p.temp > em.high’);
のfilter()のパラメータにセットする。
値を取得
html()メソッドで値を取得する。
$url = "https://weather.yahoo.co.jp/weather/jp/8.html?day=1";
$page = Goutte::request('GET', $url);
$selector = $page->filter('#map > ul > li.point.pt6710 > a > dl > dd > p.temp > em.high');
$temp = $selector->html();
dd($temp);