ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠팡 상품 리뷰 크롤링 데이터 추출 프로그램 만들기
    크롤링 2026. 4. 18. 16:48

    쿠팡 상품 리뷰 데이터를 원하시는 고객 분들이 많아서 제대로 프로그램 하나를 만들었다.

    쿠팡 리뷰 데이터 크롤링 난이도는 크롤링 난이도 중에서 가장 높은 것으로 알려져있는 만큼 쉬운 작업은 아니었지만 결국에는 데이터를 가져올 수 있었다.

    리뷰는 보기 위한 게 아니라 분석하기 위한 것이다

     

    고객님으로부터 처음 연락을 받았을 때 나에게 하신 말씀은 이거였다. "쿠팡에 우리 상품 경쟁사가 있는데, 거기 리뷰를 다 보고 싶어요. 근데 페이지를 한 장씩 넘기면서 보려니 끝이 없네요." 정확한 상황이었다. 쿠팡은 리뷰를 한 페이지에 10개씩만 보여준다. 리뷰가 1천 개면 페이지를 100번 넘겨야 하고, 5천 개면 500번이다. 게다가 그 와중에 별점 1점짜리만 보고 싶다든가, 특정 키워드가 들어간 리뷰만 추리고 싶다든가 하는 건 사실상 불가능하다.

    리뷰 분석은 보통 두 가지 목적으로 한다. 하나는 자기 상품의 약점 파악이다. 어떤 점이 자주 컴플레인으로 나오는지, 별점 1~2점짜리 리뷰의 공통 키워드는 뭔지 알면 다음 개선 방향이 잡힌다. 다른 하나는 경쟁사 리뷰 분석이다. 잘 팔리는 경쟁 상품의 좋은 평가는 어떤 게 많은지, 안 좋은 평가는 어디서 나오는지를 파악하면 자기 상품의 포지셔닝에 바로 써먹을 수 있다.

    문제는 이 분석 자체가 어려운 게 아니라, 분석할 수 있는 형태로 데이터를 만드는 게 어렵다는 거다. 엑셀에 리뷰가 한 행씩 정렬돼 있고, 별점·작성일·도움돼요 수·내용이 컬럼별로 들어 있으면 필터 걸고 정렬하는 건 일도 아니다. 그런데 그 엑셀을 만들기 위해 페이지 500번을 넘기는 게 현실적으로 안 되니까, 분석 자체가 시작도 못 되고 있던 거다.

    쿠팡이 리뷰를 그리는 방식

     

    쿠팡 상품 페이지에서 리뷰 영역을 보면 화면 위에 별점 분포 그래프가 있고, 그 아래에 리뷰가 한 페이지에 10개씩 뜬다. 페이지 번호를 클릭하면 그 페이지의 리뷰가 새로 로드되는데, 이때 페이지 전체가 새로고침되는 게 아니라 내부 API 한 번 호출로 다음 10개 리뷰만 받아와서 그 자리에 그려준다.

    그 API는 외부에 공식적으로 공개돼 있진 않지만, 페이지가 자기 자신을 위해 호출하는 내부 엔드포인트가 있다. 그 API를 직접 호출해서 데이터를 받아오는 방식으로 만들었다. 화면 렌더링을 거치지 않으니 빠르고, JSON으로 받으니 데이터 구조가 깨끗하다.

     

    다만 쿠팡 입장에서 보면 이 API는 "정상적인 사용자가 자기 페이지를 보면서 호출하는" 것만 정상으로 인식한다. 외부에서 그냥 쳐서는 인증이 안 통한다. 그래서 프로그램은 사용자가 이미 쿠팡 상품 페이지를 열어놓은 상태의 브라우저 세션을 그대로 빌려 쓴다. 사용자 입장에서는 따로 로그인하거나 토큰을 다룰 필요 없이, 평소처럼 쿠팡 페이지 한 번 열어놓고 프로그램 버튼만 누르면 된다.

     

    예로 다음과 같은 상품을 리뷰해보겠다.

     

     

    엑셀에 들어가는 컬럼

     

    수집이 끝나면 자동으로 XLSX 파일이 다운로드 폴더에 떨어진다. 컬럼은 리뷰 ID, 별점, 제목, 본문, 작성일, 작성자명, 도움돼요 수, 상품명, 판매자명, 설문 답변, 이미지 URL, 동영상 URL로 구성된다. 본문은 길면 잘라내지 않고 그대로 다 들어간다. 이미지와 동영상은 URL을 콤마로 묶어서 한 셀에 넣어두기 때문에, 필요하면 분할해서 쓸 수 있다.

    설문 답변이 좀 재미있는 부분이다. 쿠팡 리뷰는 본문 외에 "사이즈는 어땠나요? 정사이즈 / 작아요 / 커요" 같은 객관식 답변을 따로 받는데, 이게 분석에 굉장히 유용하다. 기존 화면에서는 흩어져 있어서 모아보기가 어려운데, 엑셀로 떨어지면 같은 컬럼에 들어가니까 피벗으로 비율이 바로 나온다. "사이즈 작다고 답한 사람의 비중이 60%네" 같은 인사이트가 한 번에 나온다.

    엑셀 파일 자체는 외부 라이브러리 없이 XLSX 표준 그대로 만들어진다. 워크북 안에 워크시트 하나, 헤더 한 줄, 그 아래 데이터 행이 쭉 들어가는 구조다. 엑셀에서 그냥 더블클릭하면 열리고, 한글도 안 깨진다. 받자마자 필터 걸고 분석에 들어갈 수 있는 상태다.

     

    데이터를 뽑고 엑셀을 열어보면 다음과 같이 나온다.

     

     

    리뷰 데이터란을 넓혀보면 다음과 같이 나온다.

     

     

    이런식으로 모든 리뷰 데이터를 가져올 수 있다!!

     

    진행 상황은 실시간으로

     

    수집은 시간이 좀 걸린다. 리뷰 1천 개면 100번, 5천 개면 500번 API를 호출해야 하니까, 짧으면 1분, 길면 10분 가까이 걸리는 작업이다. 그동안 화면이 멈춰 있으면 사용자가 답답하니까, 프로그램 창에 진행 상황이 계속 업데이트된다. "수집 중 — 1페이지 확인 후 전체 페이지 수를 계산합니다", "XLSX 생성 중 — 수집한 리뷰 데이터를 워크북으로 변환합니다" 같은 메시지가 단계마다 뜬다.

    수집이 끝나면 결과 패널에 상품명, 수집된 리뷰 수, API가 알려준 총 리뷰 수, 처리한 페이지 수, 저장된 파일 이름이 정리돼서 표시된다. 혹시 API 총 리뷰 수와 실제 수집된 리뷰 수가 차이가 나면 그 자리에서 바로 확인할 수 있다. 보통 쿠팡 쪽에서 일부 리뷰를 노출 안 하는 경우가 있어서 약간의 차이는 정상인데, 너무 많이 차이 나면 뭔가 문제가 있다는 신호다.

     

    마무리

     

    리뷰 데이터는 쿠팡 위에서는 거의 분석 불가능한 형태로 갇혀 있다. 화면으로 보라고 만들어진 거지, 사람이 분석하라고 만들어진 게 아니기 때문이다. 그걸 엑셀 한 장으로 꺼내놓으면 그때부터 진짜 의미가 생긴다. 별점별 분포, 시기별 변화, 키워드별 빈도, 설문 답변 비율 — 평소에 보던 그 리뷰가 완전히 다른 시야로 보이기 시작한다.

    비슷하게 어떤 사이트의 데이터가 화면 안에 갇혀 있어서 분석이 막혀 있는 상황이 있다면, 편하게 물어보면 된다. 화면 안의 데이터를 엑셀 위로 꺼내는 건 생각보다 많은 경우 가능하거든.

Designed by Tistory.