此 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]。如果不是就给我一颗星吧。