피드로 돌아가기
Scraping Real Estate & Job Data with Python: Zillow, Indeed & More (2026)
Dev.toDev.to
Backend

Playwright Stealth 기반의 Anti-bot 우회 및 정적 데이터 추출 파이프라인 설계

Scraping Real Estate & Job Data with Python: Zillow, Indeed & More (2026)

ZyVOP2026년 6월 6일29intermediate

Context

Zillow, Glassdoor 등 고도화된 Anti-bot 솔루션을 적용한 사이트의 데이터 수집 필요성 증대. 단순 HTTP 요청 기반의 BeautifulSoup로는 JS-rendered 콘텐츠 접근이 불가능한 기술적 제약 존재.

Technical Solution

  • Playwright 및 playwright-stealth 도입을 통한 Browser Fingerprinting 우회 및 자동화 탐지 방지
  • 리소스 최적화를 위해 이미지 및 폰트 로딩을 차단하는 Route Abort 로직 구현
  • CSS Selector의 잦은 변경에 대응하기 위해 NEXT_DATA JSON 객체에서 데이터를 직접 추출하는 전략 채택
  • Human-like Behavior 구현을 위한 Random Delay 및 Slow Scroll 로직을 통한 Bot 탐지 확률 최소화
  • User-Agent 설정 및 Viewport 최적화를 통한 실제 사용자 브라우징 환경 모사
  • 정적 CSV 엔드포인트 활용 및 Playwright 기반 동적 스크래핑의 하이브리드 접근 방식 적용

- JS-rendered 페이지의 경우 CSS Selector보다 내부 JSON 데이터(`__NEXT_DATA__` 등) 우선 탐색 - 리소스 낭비 방지를 위해 불필요한 정적 에셋(이미지, 폰트) 로딩 차단 설정 - IP Ban 방지를 위해 IP당 일일 요청 수를 200건 미만으로 제한하고 Residential Proxy 검토 - 탐지 회피를 위한 Random Sleep 및 가변적 Scroll 동작 구현

원문 읽기