코드 유무와 상관없이 구글 쇼핑 데이터를 스크래핑하는 방법

최종 업데이트: June 29, 2026
코드 유무와 상관없이 구글 쇼핑 데이터를 스크래핑하는 방법

Google Shopping은 매달 상품 검색 12억 건을 처리해요. 수천 개 리테일러에서 흘러나온 가격, 상품 트렌드, 판매자 정보가 브라우저 안에 그대로 쌓여 있는 셈이죠.

그 데이터를 Google Shopping에서 스프레드시트로 옮기는 일은 생각보다 까다로워요. 저도 여러 방법을 직접 굴려봤는데, 결과가 천차만별이었어요. 노코드 브라우저 확장부터 Python 스크립트까지 다 돌려보니, 어떤 건 "어, 이렇게 쉬워도 돼?" 싶었고, 어떤 건 "CAPTCHA 디버깅만 사흘째, 그냥 손 떼고 싶다" 수준이었죠. 이 주제의 가이드는 대부분 Python 개발자를 기준으로 쓰여 있어요. 그런데 제가 보기엔 Google Shopping 데이터가 필요한 사람 대부분은 이커머스 운영자, 가격 분석가, 마케터예요. 코딩 없이 숫자만 빠르게 가져오고 싶은 분들이죠. 그래서 이 글에선 난이도 순으로 3가지 방법을 풀어드려요. 자기 기술 수준과 시간 여건에 맞는 걸 고르세요.

Google Shopping 데이터란?

Google Shopping은 상품 검색 엔진이에요. "무선 노이즈 캔슬링 헤드폰"을 검색하면, Google이 여러 온라인 스토어의 상품 목록을 끌어모아 보여줘요. 상품명, 가격, 판매자, 평점, 이미지, 링크까지요. 인터넷 곳곳의 판매 상품을 실시간으로 모은 카탈로그라고 보면 돼요.

왜 Google Shopping 데이터를 긁어야 할까?

상품 페이지 하나만 봐서는 건질 게 거의 없어요. 그런데 상품 수백 개를 스프레드시트로 정리하면 패턴이 보이기 시작하죠.

google-shopping-manual-vs-auto (1).png

제가 가장 자주 본 활용 사례는 이래요.

활용 사례주요 사용자확인하려는 정보
경쟁 가격 분석이커머스 팀, 가격 분석가경쟁사 가격, 할인 패턴, 시간에 따른 가격 변동
상품 트렌드 탐색마케팅 팀, 제품 매니저신규 상품, 성장 중인 카테고리, 리뷰 증가 속도
광고 인텔리전스PPC 담당자, 성장팀스폰서 상품, 어떤 판매자가 입찰하는지, 광고 노출 빈도
판매자/리드 리서치영업팀, B2B활동 중인 판매자, 새로 카테고리에 진입한 셀러
MAP 모니터링브랜드 매니저최소 광고 가격 정책을 위반하는 리테일러
재고 및 상품 구성 추적카테고리 매니저재고 여부, 상품군의 공백

미국 리테일러의 78%가 이미 AI 기반 가격 도구를 써요. 경쟁 가격 인텔리전스에 투자한 기업들은 최대 29배의 수익률을 봤다고 보고하고요. Amazon은 대략 10분마다 가격을 갱신해요. 아직도 경쟁사 가격을 손으로 확인하고 있다면, 계산이 도무지 맞질 않죠.

AI로 Google Shopping 데이터 스크래핑 Get Started Free

Thunderbit은 AI 웹 스크래퍼 Chrome 확장 프로그램으로, 비즈니스 사용자가 AI로 웹 데이터를 뽑아낼 수 있게 도와줘요. 코딩 없이 구조화된 Google Shopping 데이터를 얻고 싶은 이커머스 운영자, 가격 분석가, 마케터에게 특히 잘 맞아요.

Google Shopping에서 실제로 뭘 뽑을 수 있을까?

도구를 고르거나 코드를 짜기 전에, 어떤 필드를 가져올 수 있고 어떤 항목은 추가 작업이 필요한지 미리 알아두면 좋아요.

Google Shopping 검색 결과에서 가져올 수 있는 필드

Google Shopping에서 검색하면 결과 페이지의 상품 카드마다 다음 정보가 담겨요.

필드유형예시비고
상품명텍스트"Sony WH-1000XM5 Wireless Headphones"항상 표시됨
가격숫자$278.00세일 가격과 정가가 함께 표시될 수 있음
판매자/스토어텍스트"Best Buy"상품당 여러 판매자가 있을 수 있음
평점숫자4.7별 5개 만점 기준, 항상 보이진 않음
리뷰 수숫자12,453신상품에서는 없는 경우가 있음
상품 이미지 URLURLhttps://...초기 로드 시 base64 자리표시자로 반환될 수 있음
상품 링크URLhttps://...Google 상품 페이지 또는 직접 스토어로 연결됨
배송 정보텍스트"Free shipping"항상 존재하는 것은 아님
스폰서 표시불리언Yes/No유료 노출 여부를 의미하며 광고 분석에 유용

상품 상세 페이지에서 가져올 수 있는 필드(서브페이지 데이터)

Google Shopping의 개별 상품 상세 페이지로 들어가면 더 풍부한 데이터가 나와요.

필드유형비고
전체 설명텍스트상품 페이지 방문 필요
전체 판매자 가격숫자(복수)여러 리테일러의 가격을 나란히 비교 가능
사양텍스트상품 카테고리에 따라 달라짐(크기, 무게 등)
개별 리뷰 텍스트텍스트구매자 리뷰 전문
장단점 요약텍스트Google이 자동 생성하는 경우가 있음

이 필드들을 가져오려면 검색 결과를 긁은 뒤 상품마다 서브페이지까지 들어가야 해요. 서브페이지 스크래핑을 지원하는 도구는 이 과정을 알아서 처리해요. 아래에서 워크플로를 하나씩 보여드릴게요.

Google Shopping 데이터를 긁는 3가지 방법

thunderbit-web-scraping-paths.png

가장 쉬운 방법부터 기술적인 방법까지 3가지로 정리했어요. 자기 상황에 맞는 행을 골라 바로 읽어보세요.

방법난이도설정 시간안티봇 대응추천 대상
노코드 (Thunderbit Chrome 확장 프로그램)초급약 2분자동 처리이커머스 운영, 마케팅, 일회성 리서치
Python + SERP API중급약 30분API가 처리반복 가능한 프로그래밍 접근이 필요한 개발자
Python + Playwright(브라우저 자동화)고급약 1시간 이상직접 관리맞춤형 파이프라인, 예외 상황 대응

방법 1: 코딩 없이 Google Shopping 데이터 긁기(Thunderbit 사용)

"Google Shopping 데이터가 필요해"에서 "스프레드시트 완성"까지 가장 빠른 길이에요. 코딩도, API 키도, 프록시 설정도 없어요. 저는 비기술 직군 동료들에게 이 과정을 수십 번 안내했는데, 막힌 사람이 한 명도 없었어요.

1단계: Thunderbit 설치 후 Google Shopping 열기

Chrome Web Store에서 Thunderbit AI Web Scraper를 설치하고 무료 계정을 만드세요.

그다음 Google Shopping으로 가요. shopping.google.com에 직접 들어가도 되고, 일반 Google 검색의 Shopping 탭을 써도 돼요. 관심 있는 상품이나 카테고리를 검색하세요. "wireless noise-cancelling headphones"처럼요.

가격, 판매자, 평점이 붙은 상품 목록 그리드가 보여야 정상이에요.

2단계: "AI Suggest Fields"로 열 자동 감지하기

Thunderbit 확장 아이콘을 눌러 사이드바를 열고 **"AI Suggest Fields"**를 클릭하세요. AI가 Google Shopping 페이지를 분석해 상품명, 가격, 판매자, 평점, 리뷰 수, 이미지 URL, 상품 링크 같은 열을 제안해요.

제안된 필드를 살펴보세요. 열 이름을 바꾸거나, 필요 없는 항목을 지우거나, 커스텀 필드를 더할 수 있어요. 예를 들어 "통화 기호 없이 숫자 가격만 추출"처럼 더 구체적으로 지정하고 싶으면, 해당 열에 Field AI Prompt를 추가하면 돼요.

Thunderbit 패널에서 열 구조 미리보기를 확인할 수 있어요.

3단계: "Scrape"로 결과 확인하기

파란색 "Scrape" 버튼을 누르세요. Thunderbit이 화면에 보이는 상품 목록을 전부 구조화된 표로 가져와요.

페이지가 여러 개인가요? Thunderbit이 페이지네이션을 자동으로 처리해요. 화면 구성에 따라 페이지를 넘기거나 스크롤해 더 많은 결과를 불러오죠. 결과가 많다면 Cloud Scraping(더 빠르고 한 번에 최대 50페이지 처리, Thunderbit 분산 인프라에서 실행)과 Browser Scraping(본인 Chrome 세션 사용 — Google이 지역별 결과를 보여주거나 로그인 상태가 필요할 때 유용) 중에 고를 수 있어요.

제가 테스트했을 땐 상품 50개를 긁는 데 약 30초가 걸렸어요. 같은 일을 손으로 했다면 상품마다 열고 제목, 가격, 판매자, 평점을 복사하느라 20분은 족히 갔을 거예요.

4단계: 서브페이지 스크래핑으로 데이터 확장하기

초기 스크래핑이 끝나면 Thunderbit 패널에서 **"Scrape Subpages"**를 누르세요. AI가 상품 상세 페이지마다 들어가 전체 설명, 모든 판매자 가격, 사양, 리뷰 같은 추가 필드를 원래 표에 덧붙여요.

별도 설정은 없어요. AI가 상세 페이지 구조를 파악해 관련 데이터를 알아서 가져오죠. 저는 이 방식으로 상품 40개의 경쟁 가격 매트릭스(상품 + 전체 판매자 가격 + 사양)를 5분도 안 걸려 만들었어요.

Google Shopping 스크래핑용 Thunderbit 체험하기

5단계: Google Sheets, Excel, Airtable, Notion으로 내보내기

**"Export"**를 누르고 저장 위치를 고르세요. Google Sheets, Excel, Airtable, Notion 중 원하는 곳으로 내보낼 수 있어요. 전부 무료고요. CSV와 JSON 다운로드도 돼요.

스크래핑은 두 번 클릭, 내보내기는 한 번 클릭이면 끝이에요. 같은 작업을 Python으로 한다면요? 대략 60줄짜리 코드, 프록시 설정, CAPTCHA 처리, 그리고 끝없는 유지보수가 따라와요.

방법 2: Python + SERP API로 Google Shopping 데이터 긁기

  • 난이도: 중급
  • 소요 시간: 약 30분
  • 준비물: Python 3.10 이상, requestspandas 라이브러리, SERP API 키(ScraperAPI, SerpApi 등)

Google Shopping 데이터에 프로그래밍 방식으로 반복 접근해야 한다면, Python 기반 중에선 SERP API가 가장 안정적이에요. 안티봇 대응, JavaScript 렌더링, 프록시 로테이션이 전부 백그라운드에서 돌아가죠. HTTP 요청을 날리면 구조화된 JSON이 돌아와요.

1단계: Python 환경 설정하기

Python 3.12를 설치하세요. 2025~2026년 기준 운영 환경에서 가장 안전한 기본값이에요. 그리고 필요한 패키지를 깔아요.

pip install requests pandas

SERP API 제공업체에 가입하세요. SerpApi는 월 100회 무료 검색을, ScraperAPI는 5,000 무료 크레딧을 줘요. 대시보드에서 API 키를 확인하세요.

2단계: API 요청 구성하기

다음은 ScraperAPI의 Google Shopping 엔드포인트를 쓰는 최소 예시예요.

import requests
import pandas as pd

API_KEY = "YOUR_API_KEY"
query = "wireless noise cancelling headphones"

resp = requests.get(
    "https://api.scraperapi.com/structured/google/shopping",
    params={"api_key": API_KEY, "query": query, "country_code": "us"}
)
data = resp.json()

API는 title, price, link, thumbnail, source(판매자), rating 같은 필드가 담긴 구조화된 JSON을 돌려줘요.

3단계: JSON 응답 파싱하고 필드 뽑기

products = data.get("shopping_results", [])
rows = []
for p in products:
    rows.append({
        "title": p.get("title"),
        "price": p.get("price"),
        "seller": p.get("source"),
        "rating": p.get("rating"),
        "reviews": p.get("reviews"),
        "link": p.get("link"),
        "thumbnail": p.get("thumbnail"),
    })
df = pd.DataFrame(rows)

4단계: CSV 또는 JSON으로 내보내기

df.to_csv("google_shopping_results.csv", index=False)

일괄 처리에도 잘 어울려요. 키워드 50개를 루프로 돌려 스크립트 한 번 실행으로 전체 데이터셋을 만들 수 있죠. 다만 비용이 약점이에요. SERP API는 요청당 과금이라, 하루 수천 건씩 돌리면 금세 비용이 불어나요. 가격은 아래에서 더 풀게요.

방법 3: Python + Playwright로 Google Shopping 데이터 긁기(브라우저 자동화)

  • 난이도: 고급
  • 소요 시간: 약 1시간 이상(지속적인 유지보수 포함)
  • 준비물: Python 3.10 이상, Playwright, residential proxy, 인내심

이 방식은 말 그대로 "완전한 제어"를 노려요. 실제 브라우저를 띄워 Google Shopping에 접속하고, 렌더링된 페이지에서 데이터를 뽑죠. 가장 유연하지만 그만큼 깨지기 쉬워요. Google 안티봇은 강력하고, 페이지 구조도 1년에 여러 번 바뀌거든요.

솔직히 이 방법으로 CAPTCHA와 IP 차단에 몇 주를 매달리다 손 뗐다는 사용자 얘기를 정말 많이 들었어요. 작동은 하지만 유지보수는 각오해야 해요.

1단계: Playwright와 프록시 설정하기

pip install playwright
playwright install chromium

residential proxy가 필요해요. 데이터센터 IP는 거의 즉시 차단되거든요. 한 포럼 사용자는 이렇게 말했죠. "AWS IP는 결과 한두 개 보고 나면 전부 차단되거나 CAPTCHA를 맞는다." Bright Data, Oxylabs, Decodo 같은 서비스가 GB당 약 1~5달러부터 residential proxy 풀을 제공해요.

현실적인 user-agent와 프록시를 잡아요.

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(
        headless=True,
        proxy={"server": "http://your-proxy:port", "username": "user", "password": "pass"}
    )
    context = browser.new_context(
        user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ..."
    )
    page = context.new_page()

2단계: Google Shopping으로 이동하고 안티봇 대응하기

Google Shopping URL을 만들어 접속해요.

query = "wireless noise cancelling headphones"
url = f"https://www.google.com/search?udm=28&q={query}&gl=us&hl=en"
page.goto(url, wait_until="networkidle")

EU 쿠키 동의 팝업이 뜨면 처리해요.

try:
    page.click("button#L2AGLb", timeout=3000)
except:
    pass

동작 사이에 사람처럼 보이는 지연을 넣으세요. 페이지 로드 사이에 2~5초쯤 무작위 대기를 두는 게 좋아요. Google 탐지 시스템은 빠르고 일정한 요청 패턴을 잘 잡아내거든요.

3단계: 스크롤하고, 페이지 넘기고, 상품 데이터 추출하기

Google Shopping은 결과를 동적으로 불러와요. 스크롤로 lazy loading을 유도한 뒤 상품 카드를 뽑죠.

import time, random

# 스크롤로 모든 결과 불러오기
for _ in range(3):
    page.evaluate("window.scrollBy(0, 1000)")
    time.sleep(random.uniform(1.5, 3.0))

# 상품 카드 추출
cards = page.query_selector_all("[jsname='ZvZkAe']")
results = []
for card in cards:
    title = card.query_selector("h3")
    price = card.query_selector("span.a8Pemb")
    # ... 기타 필드 추출
    results.append({
        "title": title.inner_text() if title else None,
        "price": price.inner_text() if price else None,
    })

여기서 짚고 갈 점 하나. 위 CSS 선택자는 대략적인 예시일 뿐이고 바뀔 수 있어요. Google은 클래스 이름을 자주 갈아요. 2024~2026년 사이에만 선택자 세트가 세 번 달라졌다는 문서도 있죠. 클래스명보다는 jsname, data-cid, <h3> 태그, img[alt]처럼 더 안정적인 속성에 기준을 두는 편이 나아요.

4단계: CSV 또는 JSON으로 저장하기

import json
from datetime import datetime

filename = f"shopping_{datetime.now().strftime('%Y%m%d_%H%M')}.json"
with open(filename, "w") as f:
    json.dump(results, f, indent=2)

이 스크립트는 정기적으로 손봐야 해요. Google이 페이지 구조를 바꿀 때마다—실제로 1년에 여러 번 일어나요—선택자가 깨지고 다시 디버깅에 들어가야 하죠.

가장 큰 문제: CAPTCHA와 안티봇 차단

여러 포럼을 봐도 결론은 똑같아요. "몇 주는 붙들었지만 결국 Google 안티봇에 두 손 들었다." CAPTCHA와 IP 차단은 DIY Google Shopping 스크래퍼를 포기하게 만드는 1순위 이유예요.

Google이 스크래퍼를 막는 방식과 대응법

| 안티봇 문제 | Google의 대응 방식 | 우회 방법 | |---|---|---|---| | IP 핑거프린팅 | 몇 번 요청 후 데이터센터 IP 차단 | residential proxy 또는 브라우저 기반 스크래핑 | | CAPTCHA | 빠르거나 자동화된 요청 패턴에서 발생 | 속도 제한(요청 간 10~20초), 사람 같은 지연, CAPTCHA 해결 서비스 | | JavaScript 렌더링 | Shopping 결과를 JS로 동적 로딩 | 헤드리스 브라우저(Playwright) 또는 JS 렌더링 API | | User-Agent 탐지 | 일반적인 봇 UA 차단 | 현실적이고 최신 UA 문자열 로테이션 | | TLS 핑거프린팅 | 브라우저가 아닌 TLS 서명 감지 | curl_cffi와 브라우저 위장 또는 실제 브라우저 사용 | | AWS/클라우드 IP 차단 | 알려진 클라우드 제공업체 IP 대역 차단 | 데이터센터 IP는 아예 피하기 |

2025년 1월, Google은 SERP와 Shopping 결과에 JavaScript 실행을 필수로 바꿔 정적 HTML 스크래퍼 상당수를 무력화했어요. SemRush와 SimilarWeb이 쓰던 파이프라인까지 영향을 받았죠. 이어 2025년 9월엔 기존 상품 상세 페이지 URL을 폐기하고, 비동기 AJAX로 로드되는 새 "Immersive Product" 화면으로 리디렉션했어요. 그래서 2025년 후반 이전에 쓰인 튜토리얼은 대부분 더는 유효하지 않아요.

각 방법은 이 문제를 어떻게 다루나

SERP API는 프록시, 렌더링, CAPTCHA 해결을 전부 백그라운드에서 처리해요. 사용자가 신경 쓸 게 없죠.

Thunderbit Cloud Scraping은 미국, 유럽, 아시아에 분산된 클라우드 인프라로 JS 렌더링과 안티봇 대응을 자동 처리해요. Browser Scraping 모드는 로그인된 본인 Chrome 세션을 쓰니, 일반 사용자가 브라우징하는 것처럼 보여 탐지를 거의 피하고요.

직접 만드는 Playwright 방식은 프록시 관리, 지연 조정, CAPTCHA 처리, 선택자 유지보수, 깨짐 감시까지 전부 사용자 몫이에요.

Google Shopping 데이터를 긁는 실제 비용: 솔직한 비교

"2만 요청에 50달러라니… 취미 프로젝트치곤 좀 세네요." 포럼에서 정말 자주 보이는 불만이에요. 그런데 보통 가장 큰 비용은 빼놓고 얘기하죠.

비용 비교표

접근 방식초기 비용쿼리당 비용(추정)유지보수 부담숨은 비용
DIY Python(프록시 없음)무료$0높음(깨짐, CAPTCHA)디버깅에 드는 시간
DIY Python + residential proxy코드 자체는 무료약 $1~5/GB중간~높음프록시 제공업체 비용
SERP API(SerpApi, ScraperAPI)무료 플랜 제한적약 $0.50~5.00/1K queries낮음대량 처리 시 빠르게 증가
Thunderbit Chrome 확장 프로그램무료 플랜(6페이지)크레딧 기반, 약 1크레딧/행매우 낮음대량 사용 시 유료 플랜 필요
Thunderbit Open API(Extract)크레딧 기반페이지당 약 20크레딧낮음추출당 과금

다들 놓치는 숨은 비용: 바로 당신의 시간

유지보수와 디버깅에 40시간을 잡아먹는 0원짜리 DIY 솔루션은 사실 공짜가 아니에요. 시급을 50달러로 잡으면 노동비만 2,000달러(약 270만 원)예요. 게다가 다음 달 Google이 DOM을 바꾸면 또 깨질 수 있죠.

google-shopping-cost-vs (2).png

McKinsey의 Technology Outlook에 따르면 직접 구축(build)과 구매(buy)의 손익분기점은 하루 360만 요청을 넘어서야 한다고 해요. 그 아래에선 자체 구축이 "ROI는 못 내고 예산만 태운다"는 거죠. 주당 몇백~몇천 건 조회하는 대부분의 이커머스 팀에겐, 노코드 도구나 SERP API가 직접 만드는 방식보다 훨씬 경제적이에요.

자동 Google Shopping 가격 모니터링 설정하기

대부분의 가이드는 스크래핑을 일회성 작업으로 다뤄요. 하지만 이커머스 팀의 진짜 사용 사례는 지속적이고 자동화된 모니터링이에요. 오늘 가격만 필요한 게 아니라 어제, 지난주, 앞으로의 가격까지 다 필요하니까요.

Thunderbit로 예약 스크래핑 설정하기

Thunderbit의 Scheduled Scraper는 "매일 오전 9시" 또는 "매주 월·목 정오"처럼 평범한 문장으로 시간 간격을 적으면, AI가 이를 반복 스케줄로 바꿔줘요. Google Shopping URL을 넣고 **"Schedule"**을 누르면 끝이죠.

실행할 때마다 결과는 Google Sheets, Airtable, Notion으로 자동 내보내져요. 결국 경쟁사 가격이 매일 알아서 채워지는 스프레드시트가 생기고, 피벗 테이블이나 알림 설정에 바로 쓸 수 있어요.

크론 잡도, 서버 관리도, Lambda 함수 골칫거리도 없어요. (Selenium을 AWS Lambda에서 돌리느라 며칠을 날렸다는 개발자 글을 본 적 있는데, Thunderbit 스케줄러는 그런 걸 통째로 건너뛰어요.)

가격 모니터링 워크플로를 더 자세히 보고 싶다면 별도 심층 가이드도 준비돼 있어요.

Python으로 스케줄링하기(개발자용)

SERP API 방식을 쓴다면 cron job(Linux/Mac), Windows 작업 스케줄러, AWS Lambda나 Google Cloud Functions 같은 클라우드 스케줄러로 실행을 예약할 수 있어요. APScheduler 같은 Python 라이브러리도 되고요.

다만 그만큼 스크립트 상태 모니터링, 실패 처리, 정기적인 프록시 로테이션, Google 페이지 변경 시 선택자 업데이트가 전부 사용자 몫이에요. 대부분의 팀에겐 예약형 Python 스크래퍼를 유지하는 엔지니어링 시간이 전용 도구 비용보다 더 커요.

Google Shopping 데이터 스크래핑 팁과 베스트 프랙티스

어떤 방법을 쓰든, 아래 몇 가지는 꼭 기억해 두면 좋아요.

속도 제한을 지키세요

짧은 시간에 수백 번 요청을 몰아치면 차단당해요. 심하면 IP가 한동안 표시될 수도 있고요. 직접 구현하는 방식이면 요청 사이에 10~20초쯤 간격을 두고, 무작위 지연도 섞으세요. 도구와 API는 이런 부분을 알아서 처리해요.

데이터 규모에 맞는 방법을 고르세요

간단한 의사결정 가이드는 이래요.

  • 주당 10건 미만 → Thunderbit 무료 플랜 또는 SerpApi 무료 플랜
  • 주당 10~1,000건 → SERP API 유료 플랜 또는 Thunderbit 유료 플랜
  • 주당 1,000건 이상 → SERP API 엔터프라이즈 플랜 또는 Thunderbit Open API

데이터를 정리하고 검증하세요

가격엔 통화 기호, 로케일별 포맷(1.299,00 € vs $1,299.00), 가끔 이상한 문자까지 섞여 들어와요. Thunderbit의 Field AI Prompt로 추출 단계에서 바로 표준화할 수도 있고, 나중에 pandas로 정리해도 돼요.

df["price_num"] = df["price"].str.replace(r"[^\d.]", "", regex=True).astype(float)

일반 목록과 스폰서 목록 사이에 중복이 있는지도 확인하세요. 둘이 겹치는 경우가 잦거든요. (title, price, seller) 튜플 기준으로 중복을 지우면 돼요.

법적 환경도 알아둬야 해요

공개된 상품 데이터를 긁는 건 대체로 합법으로 여겨지지만, 법적 환경은 빠르게 변하고 있어요. 최근 가장 큰 변화는 Google이 2025년 12월 SerpApi를 상대로 소송을 제기한 일이에요. Google의 "SearchGuard" 안티스크래핑 시스템을 우회했다며 DMCA § 1201을 근거로 들었죠. hiQ v. LinkedIn이나 Van Buren v. United States 같은 기존 판례에서 굳어진 방어 논리와는 다른 새 집행 경로예요.

실무 가이드라인은 이래요.

  • 공개적으로 접근 가능한 데이터만 긁으세요. 제한 콘텐츠에 접근하려고 로그인하지 마세요.
  • 개인 정보(리뷰어 이름, 계정 정보 등)는 뽑지 마세요.
  • Google 이용약관은 자동 접근을 금지한다는 점을 기억하세요. SERP API나 브라우저 확장을 쓰면 법적 회색지대를 줄일 순 있어도 완전히 없애진 못해요.
  • EU에서 운영한다면 GDPR도 고려해야 하지만, 상품 목록은 대부분 비개인적 상업 데이터예요.
  • 스크래핑 데이터로 상용 제품을 만든다면 법률 자문을 받는 게 좋아요.

웹 스크래핑의 법적 쟁점은 별도 글에서 더 깊이 다뤄요.

어떤 방법으로 Google Shopping 데이터를 긁어야 할까?

같은 상품 카테고리에 세 방식을 다 적용해 본 뒤, 제 결론은 이래요.

기술 지식이 많지 않고 빠르게 데이터가 필요하면 — Thunderbit를 쓰세요. Google Shopping을 열고, 두 번 클릭하고, 내보내면 끝이에요. 5분 안에 깔끔한 스프레드시트가 나와요. 무료 플랜으로 부담 없이 시작할 수 있고, 서브페이지 스크래핑 덕분에 웬만한 Python 스크립트보다 더 풍부한 데이터를 얻어요.

개발자이고 반복 가능한 프로그래밍 접근이 필요하면 — SERP API를 쓰세요. 안정성이 쿼리당 비용을 충분히 메워주고, 안티봇 스트레스도 건너뛸 수 있어요. SerpApi는 문서가 가장 탄탄하고, ScraperAPI는 무료 플랜이 가장 넉넉해요.

최대한의 제어가 필요하고 맞춤형 파이프라인을 만들고 있다면 — Playwright도 되지만, 현실을 알고 시작하세요. 프록시 관리, 선택자 유지보수, CAPTCHA 대응에 상당한 시간을 빼둬야 해요. 20252026년 기준 최소 우회 스택은 curl_cffi + Chrome 위장 + residential proxy + 1020초 템포예요. 단순 requests 스크립트에 user-agent만 로테이션하는 방식은 사실상 끝났어요.

가장 좋은 방법은 한 주를 통째로 태우지 않으면서 정확한 데이터를 얻는 거예요. 대부분의 사람에게 그건 60줄짜리 Python 스크립트가 아니라, 두 번 클릭하는 방식이고요.

볼륨이 필요하면 Thunderbit 가격 페이지를 확인하고, 실제 흐름이 궁금하면 Thunderbit YouTube 채널에서 튜토리얼을 보세요.

Google Shopping 스크래핑용 Thunderbit 체험하기 Get Started Free

자주 묻는 질문

Google Shopping 데이터를 스크래핑하는 건 합법인가요?

공개된 상품 데이터를 긁는 건 hiQ v. LinkedIn, Van Buren v. United States 같은 판례에 비추어 대체로 합법으로 여겨져요. 다만 Google 이용약관은 자동 접근을 금지하고, 2025년 12월 Google이 SerpApi를 상대로 낸 소송은 DMCA § 1201 기반의 새 우회 금지 논리를 들고나왔어요. 신뢰할 만한 도구와 API를 쓰면 위험을 줄일 수 있어요. 상업적 용도라면 법률 자문을 받는 게 좋고요.

차단되지 않고 Google Shopping을 긁을 수 있나요?

가능하지만 방법이 관건이에요. SERP API는 안티봇 대응을 자동으로 처리해요. Thunderbit의 Cloud Scraping은 분산 인프라로 차단을 피하고, Browser Scraping 모드는 본인 Chrome 세션을 쓰니 일반 브라우징처럼 보여요. 직접 만드는 Python 스크립트는 residential proxy, 사람 같은 지연, TLS 핑거프린팅 관리가 필요하고, 그래도 차단은 흔해요.

Google Shopping 데이터를 가장 쉽게 긁는 방법은 뭔가요?

Thunderbit Chrome 확장 프로그램이에요. Google Shopping으로 가서 "AI Suggest Fields"를 누르고, "Scrape"를 누른 뒤 Google Sheets나 Excel로 내보내면 돼요. 코딩도, API 키도, 프록시 설정도 없어요. 전체 과정이 약 2분이면 끝나요.

가격 모니터링을 위해 Google Shopping을 얼마나 자주 긁을 수 있나요?

Thunderbit의 Scheduled Scraper를 쓰면 평문으로 일간, 주간, 또는 원하는 간격의 모니터링을 설정할 수 있어요. SERP API는 플랜의 크레딧 한도에 따라 빈도가 달라지고, 대부분의 제공업체가 수백 개 SKU의 일일 모니터링엔 충분한 수준을 줘요. 직접 만든 스크립트는 인프라가 허용하는 만큼 자주 돌릴 수 있지만, 빈도가 높아질수록 안티봇 문제가 커지죠.

Google Shopping 데이터를 Google Sheets나 Excel로 내보낼 수 있나요?

네. Thunderbit는 Google Sheets, Excel, Airtable, Notion으로 직접 무료 내보내기를 지원해요. Python 스크립트는 CSV나 JSON으로 내보낸 뒤 스프레드시트 도구로 불러오면 돼요. 지속적인 모니터링이 필요하다면, Thunderbit의 Google Sheets 예약 내보내기가 자동 갱신되는 실시간 데이터셋을 만들어줘요.

  • 더 알아보기
Shuai Guan
Shuai Guan
Thunderbit CEO | AI 데이터 자동화 전문가 Shuai Guan은 Thunderbit의 CEO이자 University of Michigan 공학과 출신입니다. 10년 가까운 기술 및 SaaS 아키텍처 경험을 바탕으로, 복잡한 AI 모델을 누구나 바로 활용할 수 있는 노코드 데이터 추출 도구로 바꾸는 데 전문성을 갖고 있습니다. 이 블로그에서는 웹 스크래핑과 자동화 전략에 대한 필터링 없는 실전 경험과 검증된 인사이트를 공유하며, 더 똑똑하고 데이터 중심적인 워크플로를 만드는 데 도움을 드립니다. 데이터 워크플로를 최적화하지 않을 때는, 같은 꼼꼼함으로 사진이라는 취미에 몰두합니다.
Topics
파이썬으로 구글 쇼핑 스크래핑파이썬 구글 쇼핑 스크래퍼파이썬 구글 쇼핑 데이터 추출파이썬으로 구글 쇼핑에서 상품 가격 스크래핑

Thunderbit를 사용해 보세요

단 2번의 클릭으로 리드와 기타 데이터를 수집하세요. AI 기반.

Thunderbit 받기 무료예요
AI로 데이터 추출하기
Google Sheets, Airtable, Notion으로 데이터를 손쉽게 옮겨보세요
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week