데브허브 | DEVHUB | [파이썬 프로젝트] Ch 07. 시가총액 분석 | ③시가총액 데이터 추출하기[파이썬 프로젝트] Ch 07. 시가총액 분석 | ③시가총액 데이터 추출하기
- 복잡한 웹 테이블 데이터 추출 시 Playwright Inspector의 'Pick Locator'만으로는 한계가 있으며, 웹 브라우저 개발자 도구(F12)를 활용하여 정확한 HTML 태그를 식별하는 것이 필수적입니다. 🛠️
- 개발자 도구의 '검사 모드' 아이콘을 통해 원하는 요소의 태그를 쉽게 찾고,
<table>, <thead>, <tbody>, <tr>, <th>, <td> 등 HTML 구조를 파악하여 로케이터를 구성합니다. 🔍
- Playwright 로케이터는 단순히 태그 이름만으로는 부족하며,
nth() 함수를 사용하여 여러 요소 중 특정 순서의 요소를 선택하거나, has_text 매개변수를 사용하여 특정 텍스트를 포함하는 요소를 선택함으로써 로케이터를 정교하게 만들 수 있습니다. 🎯
- 테이블 헤더(TH) 추출은
page.locator('thead > tr > th')와 같은 CSS 선택자를 활용하여 정확히 지정하고, all_inner_text() 함수로 모든 헤더 텍스트를 리스트 형태로 추출합니다. 📝
- 특정 행(데이터) 추출 시에는
page.locator('tbody > tr').nth(1).locator('td')와 같이 <tbody> 내 특정 <tr> (예: 두 번째 행)를 선택한 후, 그 안의 <td> 태그들을 추출하여 개별 데이터 컬럼 값을 얻습니다. 📊
- 로케이터 객체 자체를 출력하는 대신,
all_inner_text() 함수를 호출하여 실제 텍스트 데이터를 리스트 형태로 반환받아야 합니다. 이는 흔히 발생하는 실수이며 중요한 디버깅 포인트입니다. ✅
- Playwright 자동화 코드를 실행하기 전 웹 브라우저를 종료하고, VS Code에서 파이썬 파일을 실행한 후 Playwright Inspector의 실행 버튼을 활용하여 단계별로 진행하며 결과를 확인하고 필요한 경우 디버깅합니다. 🚀