Google은 스크래핑하기 가장 어려운 주류 대상이며, 이유는 단순합니다: Google은 누구보다 많은 트래픽을 보기 때문에 진짜 검색자가 어떻게 생겼는지에 대한 가장 풍부한 모델을 가지고 있습니다. 어떤 볼륨이든 데이터센터 IP로 두드리면 429, "sorry/index" 페이지, 또는 결과가 조용히 줄어드는 소프트 블록을 받게 됩니다. 이 가이드는 Google의 차단을 실제로 유발하는 것이 무엇인지, 그리고 2026년에 SERP 스크래퍼를 살아 있게 유지하는 프록시 및 속도 제한 전략을 다룹니다.
Google은 하나의 신호에 의존하지 않습니다 — 여러 신호를 쌓아 올려 합산 점수가 선을 넘으면 차단합니다:
대부분의 대상에서는 공개 데이터에 대해 데이터센터 IP로 넘어갈 수 있습니다. Google은 예외입니다: ASN 평판 점수화가 충분히 공격적이어서 데이터센터 프록시는 거의 즉시 스로틀링됩니다. 주거용 exit — 진짜 소비자 ASN — 이 SERP 스크래퍼가 볼륨을 유지하게 해줍니다. 데이터센터는 다른 모든 것에 남겨두고, 주거용 예산은 실제로 효과가 있는 곳에 쓰세요.
로테이션은 부하를 분산시켜 단일 IP가 봇처럼 보이지 않게 하지만, 당신을 살아남게 하는 규율은 풀 크기가 아니라 exit별 속도입니다. 천 개의 프록시도 전부 한꺼번에 쏘아대면 차단됩니다. 각 exit을 사람처럼 페이스 조절하세요:
import time, random, itertools
from curl_cffi import requests # browser TLS fingerprint, see notes below
PROXIES = [
"socks5h://USERNAME:[email protected]:913",
"socks5h://USERNAME:[email protected]:913",
]
pool = itertools.cycle(PROXIES)
def serp(query, page=0):
proxy = next(pool)
params = {"q": query, "start": page * 10, "hl": "en"}
r = requests.get("https://www.google.com/search", params=params,
impersonate="chrome",
proxies={"http": proxy, "https": proxy}, timeout=30)
if r.status_code == 429 or "/sorry/" in r.url:
raise RuntimeError("rate-limited - back off and rotate")
return r.text
for q in queries:
html = serp(q)
parse(html)
time.sleep(random.uniform(2.0, 5.0)) # human-paced gap between queries
무작위화된 지연은 실제로 일을 하고 있습니다: 고정된 sleep(3)은 그 자체로 지문입니다. 이를 변화시키고, 쿼리를 여러 exit에 분산시켜 각 exit이 Google의 IP당 임계값 아래로 유지되게 하세요.
지역화된 결과(순위, 언어, 통화)는 exit의 위치에 따라 달라지므로, 측정하려는 지역의 프록시를 고르고 여러 페이지짜리 쿼리에는 sticky 세션을 유지하여 한 검색의 모든 페이지가 같은 곳에서 나오게 하세요. 쿼리 도중에 exit을 섞으면 서로 다른 로케일에서 짜깁기된 결과가 나옵니다 — 순위 추적에는 쓸모없습니다.
Google은 당신의 TLS 핸드셰이크도 읽습니다. 평범한 requests 호출은 Python임을 외치는 JA3를 보내며, 이는 IP 점수를 가중시킵니다. curl_cffi(위에서 사용)나 진짜 브라우저로 진짜 브라우저 지문을 보내세요 — curl_cffi로 TLS 지문 우회하기를 참고하세요. Google이 JS 동의 벽으로 게이트하기 시작하면, Turnstile 가이드에서 다룬 대로 진짜 브라우저 엔진으로 격상하세요 — 동일한 "JS 런타임이 필요함" 로직이 적용됩니다.
/sorry/ — 그 exit을 두드리는 것을 멈추고, 로테이션하고, 지수적으로 백오프하세요. 플래그된 IP를 계속 두드리면 차단이 길어집니다./sorry/에서 강하게 백오프하세요.신규 사용자는 가입 시 500MB를 받고, 첫 충전 시 추가 보너스를 받습니다. 기간 한정 혜택입니다.