내 노트북에서는 작동했어요: 왜 스크래퍼가 프로덕션에서 무너지는가 (그리고 실제로 무엇이 깨지는가)

발행: (2025년 12월 23일 오후 08:48 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

위 링크에 있는 전체 텍스트를 제공해 주시면, 해당 내용을 한국어로 번역해 드리겠습니다.

로컬에서 얻는 것 (예상치 못한 장점)

  • 주거용 ISP IP
  • 인간과 같은 요청량
  • 최신 브라우저 지문
  • “일반적인” 지리적 위치

배포 시 무엇이 변하는가

Production environments typically involve:

  • 데이터센터 IP
  • 높은 동시성
  • 반복적인 요청 패턴
  • 고정된 지역
  • 장시간 실행되는 프로세스

현대 웹사이트에 있어 이러한 트래픽은 더 이상 사용자가 아니라 시스템처럼 보입니다.

일반적인 프로덕션 환경

  • 클라우드 VM
  • 컨테이너
  • 서버리스 함수

이들은 거의 항상 데이터센터 IP 범위를 사용합니다.

핵심 문제

많은 사이트가 데이터센터 트래픽을 속도 제한하거나 다운그레이드합니다.
일부 사이트는 완전히 차단하지는 않지만 응답을 저하시켜, 불완전하거나 변형된 콘텐츠와 함께 HTTP 200을 반환합니다. 이것이 “오류 없음”이 “정확한 데이터”와 같지 않은 이유입니다.

로컬 vs. 프로덕션 요청 패턴

항목로컬프로덕션
요청 빈도몇 초마다 1회 요청병렬 요청, 지속적인 가동 시간
세션 길이짧은 세션, 수동 재시작장기 실행, 예측 가능한 타이밍
트래픽 프로필일관되지 않음, 인간과 유사너무 일관되고, 너무 빠르며, 너무 인내심 있음

안티봇 시스템은 무엇을 요청하는지뿐만 아니라 어떻게 요청하는지를 모니터링합니다. 시스템이 안정적일수록 인간처럼 보이지 않게 됩니다.

Regional Effects

많은 개발자들은 “scraping public pages—location shouldn’t matter.” 라고 가정합니다. 실제로는:

  • 지역에 따라 가격이 다릅니다
  • IP에 따라 SERP가 다릅니다
  • 소셜 및 e‑commerce 플랫폼은 지역화가 적극적입니다
  • 명확한 오류 없이 지역‑게이트된 콘텐츠가 존재합니다

단일 지역에서만 프로덕션을 실행하면 데이터가 biased, incomplete, and non‑representative—즉, SEO 모니터링, 시장 조사, 그리고 ML 학습 데이터에 심각한 문제가 됩니다.

조용한 실패

가장 위험한 실패는 예외를 발생시키지 않습니다. 대신 다음과 같은 현상이 발생합니다:

  • 빈 리스트
  • 결과가 적음
  • 내용 순서가 바뀜
  • 누락된 필드

파이프라인은 계속 실행되어 왜곡된 현실을 전달합니다. 이러한 실패는 몇 주 동안 눈에 띄지 않을 수 있습니다.

트래픽 현실감: 놓친 조각

이 시점에서 많은 팀들은 문제가 Scrapy, Playwright, 혹은 requests가 아니라 트래픽 현실감이라는 것을 깨닫습니다.

Residential Proxies

ISP가 할당한 소비자 IP를 통해 요청을 라우팅하면 다음에 도움이 됩니다:

  • 즉각적인 데이터센터 필터링 회피
  • 지역에 맞는 콘텐츠 접근
  • 무언가 감소(조용한 성능 저하) 방지
  • 프로덕션 트래픽을 실제 사용자와 유사하게 만듦

Rapidproxy와 같은 도구는 “성장 해킹”이 아니라 배관 작업—재시도, 백오프, 관측성 추가와 유사하게 사용됩니다.

Important Caveats

  • 프록시만으로는 깨진 셀렉터를 고칠 수 없습니다.
  • 공격적인 봇 챌린지를 우회할 수 없습니다.
  • 잘못된 요청 패턴을 정당화하지 못합니다.

프록시가 해결해 주는 부분:

  • 로컬과 프로덕션 간 인프라 수준의 불일치
  • 비현실적인 IP 평판
  • 지역 인식 부족
  • 초기 단계 스로틀링

이들은 “내 노트북에서는 작동한다”와 “실제 환경에서도 작동한다” 사이의 격차를 메워줍니다.

안정적인 스크래퍼 구축

안정적인 스크래퍼는 일반적으로 다음을 결합합니다:

  • 합리적인 동시성
  • 세션 일관성
  • 관찰 가능한 차단 비율
  • 지역 인식 접근
  • 현실적인 IP 트래픽

팀이 이를 도입하면 오류율이 감소합니다—제로는 아니지만 예측 가능하고 진단 가능한 수준까지 낮아집니다. 예측 가능성은 프로덕션 시스템이 가장 필요로 하는 요소입니다.

요점

대부분의 스크래퍼가 죽는 이유는 코드가 형편없어서가 아니라 프로덕션 트래픽이 실제 사용자와 전혀 다르게 보이기 때문이며, 웹은 이를 감지하도록 진화했습니다.

스크래퍼가 로컬에서는 작동하지만 프로덕션에서는 실패한다면, 아직 코드를 다시 작성하지 마세요. 먼저 스스로에게 물어보세요:

“실제 사용자가 이렇게 행동할까요?”

답이 아니오라면, 인프라에도 코드만큼 많은 관심이 필요합니다.

Back to Blog

관련 글

더 보기 »