이 Python 스크립트는 Google PageSpeed Insights API를 사용하여 URL 목록에서 웹 성능 측정항목, 특히 핵심 웹 바이탈을 추출하도록 설계되었습니다. 비동기 HTTP 요청에는 aiohttp
라이브러리를, 동시성 처리에는 asyncio
활용합니다. 추출된 측정항목은 추가 분석을 위해 처리되어 Excel 파일에 저장됩니다.
URL 목록 : 스크립트는 분석할 사전 정의된 URL 목록으로 시작됩니다. url_list
변수에서 URL을 추가하거나 제거하여 이 목록을 사용자 정의할 수 있습니다.
API 구성 : 다음을 포함한 주요 구성 매개변수가 설정됩니다.
category
: 분석을 위한 성능 카테고리입니다.today
: "dd-mm-yyyy" 형식의 현재 날짜입니다.locale
: 분석을 위한 로케일입니다(예: 브라질의 경우 'br').key
: Google의 PageSpeed Insights API에서 얻을 수 있는 API 키입니다. API 데이터 추출 : 스크립트는 '모바일' 및 '데스크톱' 장치 모두에 대해 각 URL에 대해 API 요청을 생성하는 비동기 함수 webcorevitals
정의합니다. 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 파일을 찾을 수 있습니다.
예를 들어:
날짜 | URL | 점수 | FCP | 시 | LCP | TTI | TBT | 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]으로 이메일을 보내주세요. 그렇지 않다면 나에게 별표를주십시오.