PageSpeed Insights APIを用いて、複数のサイトのスコアを一括取得する(Python)
みなさん、PageSpeed Insightsをご存知だろうか?
このサイトは、ウェブページのコンテンツを解析し、ページの読み込み時間を短くするための方法を提案してくれるwebサイトを作成していく上では欠かせないサイトである。
このサイトは、通常フォームに対してURLを入力することが可能だが、複数サイトまたは複数ページを解析することはできない。
そのため、Google Cloud Platform からAPIを用いることで複数のサイトを一括して計測できるようになる。
Google Cloud PlatformでAPIを発行後、以下のソースコードを用いることでデータを取得可能である。
import requests #指定したいURLをベタ書き or 読み込み urlList=['http://abehiroshi.la.coocan.jp', 'https://sakuraihinako.futureartist.net/', 'http://kaela-web.com/', 'http://keisuke-honda.com/', 'http://www.genkisudo.net/', 'http://www.becky.ne.jp/'] #GETメソッド get_url='https://www.googleapis.com/pagespeedonline/v4/runPagespeed' strategy_param='desktop'#モバイルサイト か #PC を指定(mobile or desktop) api_key='ここにAPIを記述' #api key を指定 payload = {'strategy': strategy_param,'api_key': api_key} #GETメソッドに付帯するパラメータ for url in urlList: urlName=get_url+"?url="+url result=requests.get(urlName,params=payload) result=result.json()#jsonに変換 resultScore=result['ruleGroups']['SPEED']['score']#Scoreを取り出す resultTitile=result['title']#タイトルを取り出す print(resultTitile,resultScore)
このソースコードでは、サイトのタイトルと点数を出力している。
阿部寛のホームページ 93
桜井日奈子 Official Fanclub 7
木村カエラ | KAELAWEB 0
本田圭佑オフィシャルWEBサイト - Keisuke Honda Official Website 23
不要な食器がお金に変わりました|テーブルウェアショッピング 90
ベッキーオフィシャルウェブサイト 14
どうでもいいけど、やっぱ阿部寛のホームページの速度は異常だね。