Playwright
데이터 전처리|조회 4|2026.08.24 18:33|+2 Playwright는 마이크로소프트가 개발한 오픈소스 웹 브라우저 자동화 및 E2E(End-to-End) 테스트 프레임워크
0:00 / 40:56
Playwright
40:56학습 목표
이 강의를 통해 Playwright를 사용하여 동적 웹 페이지를 효과적으로 스크래핑하는 방법을 배웁니다. 정적 스크래핑과의 차이점을 이해하고, 클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR)의 개념을 파악하여 동적 콘텐츠를 다루는 기술을 습득합니다. 또한, 브라우저 자동화 도구인 Playwright의 기본 구조와 사용법을 익혀 실제 웹 스크래핑 프로젝트에 적용할 수 있게 됩니다.
핵심 개념
- 정적 vs 동적 스크래핑:
requests라이브러리를 사용한 정적 스크래핑과 달리, 동적 스크래핑은 JavaScript에 의해 렌더링되는 콘텐츠를 처리합니다. - 클라이언트 사이드 렌더링 (CSR): 서버에서 최소한의 HTML과 JavaScript 파일을 전송하고, 클라이언트(브라우저)에서 JavaScript를 실행하여 동적으로 화면을 그리는 방식입니다. 초기 HTML 응답에는 실제 콘텐츠가 비어있을 수 있습니다.
- 서버 사이드 렌더링 (SSR): 서버에서 완전한 HTML을 생성하여 클라이언트로 전송하는 방식입니다. 전통적인 웹 페이지 렌더링 방식입니다.
- 브라우저 자동화 도구: Playwright는 브라우저를 직접 제어하여 웹 페이지와 상호작용하는 강력한 도구입니다. 테스트 자동화 및 웹 스크래핑에 활용됩니다.
- Playwright 기본 구조:
browser,context,page객체를 통해 브라우저 인스턴스, 독립적인 브라우저 세션(쿠키, 캐시 포함), 그리고 실제 탭(페이지)을 관리합니다. with문: Python에서 자원을 자동으로 해제(반납)하기 위해 사용됩니다. Playwright에서 브라우저 관련 객체를 사용할 때with문을 사용하여 리소스 누수를 방지합니다.
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
공부 방향성
이 강의를 시청하기 전에 웹 스크래핑의 기본적인 개념과 Python 프로그래밍에 대한 이해가 있으면 좋습니다. 강의 시청 후에는 Playwright 공식 문서를 참고하여 더 다양한 기능과 고급 활용법을 익히고, 실제 웹사이트에 적용해보는 연습을 하는 것이 중요합니다. 특히, CSR 환경에서 데이터를 가져오는 방식을 이해하고 API 직접 호출 또는 브라우저 자동화 도구를 활용하는 방법을 심화 학습하는 것을 추천합니다.