此 Python 腳本旨在使用 Google PageSpeed Insights API 從 URL 清單中提取 Web 效能指標,特別是 Core Web Vitals。它利用aiohttp
函式庫進行非同步 HTTP 請求,並利用asyncio
來處理並發。然後處理提取的指標並將其儲存到 Excel 文件中以供進一步分析。
URL 清單:腳本以要分析的預先定義 URL 清單開始。您可以透過在url_list
變數中新增或刪除 URL 來自訂此清單。
API配置:設定關鍵配置參數,包括:
category
:用於分析的性能類別。today
:目前日期,格式為「dd-mm-yyyy」。locale
:分析的區域設定(例如,「br」代表巴西)。key
:您的 API 金鑰,您可以從 Google 的 PageSpeed Insights API 取得該金鑰。 API 資料擷取:此腳本定義了一個非同步函數webcorevitals
以針對「行動」和「桌面」裝置的每個 URL 發出 API 請求。它提取各種效能指標,例如首次輸入延遲(FID)、下次繪製互動(INP)、第一位元組時間(TTFB)、首次輸入延遲(FCP)、速度指數(SI)、最大內容繪製( LCP) 、互動時間 (TTI)、總阻塞時間 (TBT)、累積佈局偏移 (CLS)、總頁面大小和整體效能得分。
資料轉換:對提取的資料進行轉換和處理,以確保一致性和正確的資料類型。
DataFrame 創建:建立 Pandas DataFrame 來組織提取的指標。 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
輸出:腳本執行完成後,您將在與腳本相同的目錄中找到一個名為「output.xlsx」的 Excel 文件,其中包含提取的 Web 效能指標。
例如:
日期 | 網址 | 分數 | 氟氯化石蠟 | SI | 液晶聚合物 | TT | 技術性貿易壁壘 | 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]。如果不是就給我一顆星吧。