【Laravel】GoutteでスクレイピングしてGoogle検索順位をチェックしてみた

Laravel logo

今日は Laravel でスクレイピングを行う方法について紹介します。

やること

PHP の Laravel を使ってウェブスクレイピングを行います。

ウェブスクレイピング(英: Web scraping)とは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。 通常このようなソフトウェアプログラムは低レベルのHTTPを実装することで、もしくはウェブブラウザを埋め込むことによって、WWWのコンテンツを取得する。

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0

環境とライブラリ

  • 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検索順位チェックツールでも作ってみようかと思います。

参考文献

Scroll to top