Scraping YellowPages with Python in 2026: What Actually Works (and What Doesn't)
YellowPages.com이 2023년 Cloudflare 도입으로 기존 requests/BeautifulSoup 스크래핑 방식이 403 에러로 실패하면서, Playwright 기반 헤드리스 브라우저와 주거용 미국 프록시 조합으로 웹 스크래핑 전략 변화
AI 요약
Context
YellowPages.com은 2023년 Cloudflare 뒤로 이동하면서 모든 요청이 JavaScript 챌린지를 통과해야 한다. 기존 requests + BeautifulSoup 조합은 상태 코드 403을 반환하거나 빈 챌린지 페이지만 받게 되었고, httpx, urllib3 등 순수 HTTP 라이브러리도 동일한 문제를 겪는다.
Technical Solution
- JavaScript 챌린지 우회: Playwright.sync_api를 사용한 헤드리스 Chromium 브라우저로 JS 실행 후
.search-results선택자 대기 처리 - IP 차단 방지: 10~20 요청 후 Cloudflare 차단을 피하기 위해 미국 주거용 프록시(residential US proxies) 의무 사용
- 브라우저 핑거프린팅 우회: Headless Chrome의
navigator.webdriver=true, 플러그인 누락 등 탐지 신호 제거를 위한 stealth 패치 적용 - 세션 재사용 문제 해결: 한 브라우저 세션에서 8~9개 페이지 이후 챌린지 페이지 반환 증가 현상을 방지하기 위해 상세 페이지마다 신규 브라우저 컨텍스트 생성
- 구조화 데이터 추출: CSS 선택자 대신 application/ld+json 형식의 JSON-LD 파싱으로 안정성 향상
- 요청 속도 제어: 즉각적인 차단을 유발하지 않기 위해 요청 간 1~3초 지연 설정
Impact
이메일 추출 성공률이 세션 재사용 시 약 3%에서 신규 브라우저 컨텍스트 사용 시 약 22%로 향상된다. 주거용 프록시 서비스 구독 비용은 월 50~100달러이며, 사전 구축 스크래퍼 사용 시 결과당 약 0.005달러(100개 비즈니스 기준 0.60달러)의 비용이 소요된다.
Key Takeaway
웹 스크래핑에서 반복적인 세션 재사용은 추출 성공률을 대폭 낮추므로, 각 상세 페이지 요청마다 신규 브라우저 컨텍스트를 생성하는 아키텍처 설계가 필수다. 또한 Cloudflare와 같은 JavaScript 기반 반봇 시스템은 순수 HTTP 라이브러리로 우회 불가능하며, 주거용 프록시와 stealth 브라우저 패치의 조합이 필수 기술 스택이다.
실천 포인트
비즈니스 디렉토리 스크래핑이 필요한 데이터 엔지니어 팀에서 자체 스크래퍼 구축 대신 Apify의 Yellow Pages Scraper 같은 사전 구축 솔루션을 도입하면, 프록시 관리·핑거프린팅 우회·세션 관리에 소요되는 1주일 이상의 개발 시간과 월 50~100달러의 프록시 비용을 절감하고 결과당 0.005달러의 저비용 추출을 실현할 수 있다.