テレットブログ

【PHP】 GoogleのPagespeed APIを利用してWebページのスクリーンショットを取得

2020年06月03日
image
WEBページのスクリーンショットを取得する方法
 
  1. PageSpeed Insights APIのURLを知る
  2. PageSpeed Insights APIを利用してWEBページの情報を取得
  3. 取得したスクリーンショットを保存する
わずか3ステップでスクリーンショットが撮れてしまいます。
自動で取得する場合はCronにでもいれて自動巡回させるとさらに便利です。

 

PageSpeed Insights APIのURLを知る


PageSpeed Tools のサイトに記載されていますので、みてみましょう。
URL

APIキーも設定できますが、省略可です。

引用:

PageSpeed Insights API を試すだけであれば、API キーは不要です。自動化した方法で API を使用して、1 秒間に複数回クエリを作成する予定であれば、API キーが 1 つ必要です。

PageSpeed Insights API URL

https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://developers.google.com
?url= (取得したいWEBサイトのURL)


PageSpeed Insights APIを利用してWEBページの情報を取得

 

PHPでfile_get_contents()

を利用して取得します。
取得するとjsonで返されますのそれよりbase64データをの位置より取得します。
途中PHPのbase64_decodeには不要な文字列が入ってしまうので、除去。

取得までのソースは下記
<?php

        private function googleapi_pagespeedonline($sites){

   

                if($image = @file_get_contents("https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=$sites&screenshot=true")){

                        //ここにコンテンツの取得が成功した場合の処理

                        $image = json_decode($image, true);



                        $image = $image["lighthouseResult"]["audits"]["final-screenshot"]["details"]["data"];

                        $data = preg_replace('#^data:image/\w+;base64,#i' , '' , $image);

                        $fileData = base64_decode($data);

                

                        return $fileData;



                }else{

                    //エラー処理

                    return false;

                    exit;

                }



?> 

 

取得したスクリーンショットを保存する

  <?php
        private function save_image($fileData,$filename) {

            $save_file='./dist/siteimg/'.$filename.'';

            //特定のディレクトリーにファイルを保存する

            file_put_contents($save_file,$fileData);

        }

<?php

PageSpeed Insights APIですが
version2で取得していたのですが、いまやversion5になっていました。
それにともない、スクリーンショットURLも変わっていたので、あたらしく記載
 


新着記事

image

conoha vps で postfix にDKIMをセットする

2025年06月02日
# メールサーバー設定作業レポート ## 1. 作業概要 ConoHa
Read more →
image

shopipyのページネーションについて

2023年11月15日
Shopify APIのレスポンスヘッダーには、ページネーションに関す
Read more →
image

Git-ftpを使ったファイルアップロードの方法

2023年04月20日
タイトル: Git-ftpを使ったファイルアップロードの方法 概要
Read more →
image

ChatGPTとjQueryの組み合わせで新しい時代のウェブ開発をリード

2023年04月19日
近年、AI技術がウェブ開発の分野においても急速に浸透しています。特に、ChatG
Read more →
image

ChatGPTで日本語をマスター!次世代AI技術を活用したコミュニケーションの強化

2023年04月18日
ChatGPTは、OpenAIが開発した最先端のAI技術であり、自然言語処理(N
Read more →
Choose Colour