この Python スクリプトは、Google PageSpeed Insights API を使用して URL のリストから Web パフォーマンス メトリクス、特に Core Web Vitals を抽出するように設計されています。非同期 HTTP リクエストにはaiohttp
ライブラリを使用し、同時処理にはasyncio
使用します。抽出されたメトリクスは処理され、さらなる分析のために Excel ファイルに保存されます。
URL リスト: スクリプトは、分析する URL の事前定義されたリストから始まります。このリストは、 url_list
変数で URL を追加または削除することでカスタマイズできます。
API 設定: 以下を含む主要な設定パラメータが設定されます。
category
: 分析対象のパフォーマンス カテゴリ。today
: 「dd-mm-yyyy」形式の現在の日付。locale
: 分析のロケール (ブラジルの場合は「br」など)。key
: API キー。Google の PageSpeed Insights API から取得できます。 API データ抽出: このスクリプトは、「モバイル」デバイスと「デスクトップ」デバイスの両方の URL ごとに API リクエストを行う非同期関数webcorevitals
定義します。最初の入力遅延 (FID)、次のペイントまでのインタラクション (INP)、最初のバイトまでの時間 (TTFB)、最初のコンテンツフル ペイント (FCP)、速度インデックス (SI)、最大コンテンツフル ペイント (LCP) などのさまざまなパフォーマンス メトリックを抽出します。 、インタラクティブまでの時間 (TTI)、合計ブロック時間 (TBT)、累積レイアウト シフト (CLS)、合計ページ サイズ、および全体的なパフォーマンス スコア。
データ変換: 抽出されたデータは、一貫性と適切なデータ型を確保するために変換および処理されます。
DataFrame の作成: 抽出されたメトリクスを整理するために Pandas DataFrame が作成されます。データフレームは、日付、URL、スコア、FCP、SI、LCP、TTI、TBT、CLS、サイズ (MB)、およびデバイスの列で構成されています。
同時実行: スクリプトは asyncio を使用して、すべての URL とデバイスに対して API リクエストを同時に実行し、データ抽出プロセスを大幅に高速化します。
Excel 出力: 最終的な DataFrame はすべてのリクエストから連結され、スクリプトと同じディレクトリに「output.xlsx」という名前の Excel ファイルとして保存されます。
依存関係のインストール: 必要な Python ライブラリがインストールされていることを確認してください。 pip を使用してインストールできます。
pip install aiohttp asyncio pandas
API キー: Google の PageSpeed Insights API から API キーを取得し、スクリプト内のkey
変数をキーに置き換えます。
URL リストのカスタマイズ: スクリプト内のurl_list
変数を変更して、分析する URL のリストをカスタマイズします。
スクリプトの実行: Python を使用してスクリプトを実行します。
python lighthouse.py
出力: スクリプトの実行が完了すると、抽出された Web パフォーマンス メトリクスを含む「output.xlsx」という名前の Excel ファイルがスクリプトと同じディレクトリに作成されます。
例えば:
日付 | URL | スコア | FCP | SI | LCP | TTI | 未定 | CLS | サイズ (MB) | デバイス |
---|---|---|---|---|---|---|---|---|---|---|
2023-09-25 | https://www.google.com | 76 | 2 | 3.2 | 2 | 8.5 | 910 | 0.014 | 1.123100281 | 携帯 |
2023-09-25 | https://www.google.com | 92 | 0.4 | 0.8 | 0.6 | 1.9 | 220 | 0.007 | 1.246808052 | デスクトップ |
貢献したい場合は、問題を開くか、[email protected] まで電子メールを送ってください。そうでない場合は、星を付けてください。