今日は Laravel でスクレイピングを行う方法について紹介します。
Contents
やること
PHP の Laravel を使ってウェブスクレイピングを行います。
ウェブスクレイピング(英: Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。 通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブラウザを埋め込むことによって、WWWのコンテンツを取得する。
環境とライブラリ
- PHP v7.2.8
- Laravel v5.5.42
- Composer v1.6.5
使用するライブラリはこちら
→ dweidner/laravel-goutte
実装しよう!
Laravel のインストール
まずは Laravel インストールを行っていきます。
Laravel のインストール方法については別記事にまとめてあります。
→ Laravel をインストールする
ライブラリのインストール
Goutte というライブラリを使用していきます。
Composer 内に用意されているので、Composer でインストールを行っていきます。
$ cd <Laravelをインストールしたディレクトリ>
$ composer require weidner/goutte
Config ファイルの編集
Laravel 上で Goutte を使えるようにするために Config ファイルの編集を行っていきます。
具体的には config/app.php 内の “providers” と “aliases” に Goutte を追加します。
これで Goutte が使えるようになったので、続いて実装に移ります。
実装
詳細の説明はコメントに記載したので、こちらを見てみてください!
php artisan serve
でWebサーバーを起動後、$YOUR_URL と $keyword を変更して http://localhost:8080/searchを叩けば検索順位が表示されるはずです。
※100位圏外の場合は0位と表示されます。
所感
スクレイピングって結構ハードル高いかなと思ってたんですが、ライブラリでこんなに手軽にできるということに驚きでした。
面白そうなので今度はこれを使って、Google検索順位チェックツールでも作ってみようかと思います。