플랫폼별 엔드포인트 조사표

셀러들의 비밀무기 셀러허브 (SellerHub) - 각 플랫폼의 검색 API/URL 패턴, 인증 방법, 수집 가능한 데이터 범위 등을 조사하여 기록하는 문서입니다.

플랫폼 조사 상태 검색 API/URL 패턴 인증 필요 여부 수집 가능한 데이터 특수 요구사항 비고
네이버가격비교 추후 수집 예정 토큰 인증 등 복잡한 인증 필요 토큰 기반 인증 필요 추후 조사 예정 해외직구 제품 제외 필터링 방법 필요 토큰 생성 및 복잡한 인증 절차로 인해 추후 수집 예정. 우선 다른 플랫폼부터 개발 진행.
머스트잇 조사 완료 기본 주소:
m.web.mustit.co.kr/

인기상품 랭킹:
https://m.web.mustit.co.kr/m/etc/ranking?category=ALL

인기브랜드 랭킹:
https://m.web.mustit.co.kr/m/etc/ranking?type=brand

핫딜 상품:
https://m.web.mustit.co.kr/m/product/hot_deal

검색 페이지:
https://m.web.mustit.co.kr/m/product/header_all_search

키워드 검색:
https://m.web.mustit.co.kr/m/product/product_search?keyword={키워드}&click=current_productsearch
(참고: click 파라미터는 current_productsearch 또는 all_productsearch 사용 가능)

상품 상세:
https://m.web.mustit.co.kr/v2/m/product/product_detail/{상품번호}?from_keyword={키워드}&isNewTab=Y

이미지 도메인:
https://image.mustit.co.kr/
https://static-ux.mustit.co.kr/
인증: 세션 쿠키 필수
- 1단계: 메인 페이지 접근으로 세션 쿠키 획득
  GET https://m.web.mustit.co.kr/
- 2단계: 획득한 쿠키로 검색/상세 페이지 요청
- 필수 쿠키: mustit_uid, nid, tmp_cart_id, cartCount
- 선택 쿠키: _ga, _gid, __f_i_ss_d 등 (추적용)

필수 헤더:
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
- Accept-Encoding: gzip, deflate, br, zstd
- Cache-Control: no-cache
- Pragma: no-cache
- Sec-CH-UA: "Chromium";v="142", "Google Chrome";v="142"
- Sec-CH-UA-Mobile: ?0
- Sec-CH-UA-Platform: "Windows"
- Sec-Fetch-Dest: document
- Sec-Fetch-Mode: navigate
- Sec-Fetch-Site: same-origin (검색/상세 페이지용)
- Sec-Fetch-User: ?1
- Referer: https://m.web.mustit.co.kr/ (검색/상세 페이지용)
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-03)
HTML 기반 (SSR)
- Nuxt.js 기반 서버사이드 렌더링
- 상품명: <p class="name">
- 브랜드: <p class="brand">
- 가격: <div class="price"> 내부
  • 할인율: <p class="discount">
  • 할인가: <p class="discount_price">
  • 원가: <del class="del_price">
- 이미지: <img src="..."> (300x300 또는 300x400)
- 상품 링크: <a href="/v2/m/product/product_detail/{상품번호}">
- 상품 ID: URL에서 추출 또는 data-search-item-index 속성
- 찜 수: <div class="review_info"> 내부 <span class="number">
- 평점: <div class="review_info"> 내부 <span class="number"> (예: "5.0 (4)")
- 가격비교: <div class="catalog_count"> 내부 (예: "가격비교 24개")
- 배송: <span class="badge"> (예: "무료배송")

이미지 URL 패턴:
- 상품: /lib/upload/product/{판매자}/{년}/{월}/{파일명}
- 리사이즈: /_dims_/resize/300x300/extent/300x400
- 배너: /lib/upload/home/main_banner/{파일명}
- 브랜드: /lib/upload/home/brand_shortcut/{파일명}
- 특가: /lib/upload/admin/specialSale/{파일명}
- HTML 기반: JSON API 없음, SSR로 HTML 제공
- 동적 로딩: Nuxt.js 클라이언트 사이드 하이드레이션
- 이미지 리사이징: URL 파라미터로 크기 조절
- 무한스크롤: 가능성 있음 (추가 확인 필요)
구조 분석 완료: 7개 엔드포인트 분석 완료
주요 태그: article, div, p, a, img, button, svg
주요 클래스: search_item_container, info_container, name, brand, price, review_info_box, catalog_count
데이터 추출: HTML 파싱 (상품명, 브랜드, 가격, 이미지, 찜 수, 평점, 가격비교 개수)
상품 구조: <article class="search_item_container"> 단위로 상품 정보 포함
찜 수/평점: review_info_box 내부에서 추출 가능
가격비교: catalog_count 내부에서 추출 가능 (예: "가격비교 24개")
이미지: Swiper 슬라이더 구조, 여러 이미지 제공

✅ 디버그 완료 (2025-12-03):
- 키워드 검색: HTTP 200 성공 (1.9MB 응답)
- 상품 상세: HTTP 200 성공 (421KB 응답)
- 세션 쿠키 획득 방법 구현 완료
- 헤더 설정 최적화 완료
- 디버그 페이지 구현 완료
필웨이 조사 완료 기본 주소:
https://www.feelway.com/

키워드 검색 (전체):
https://www.feelway.com/list.php?brand_no=&cate_no=&sub_cate_no=&g_price_small=&g_price_max=&f_key_goods={keyword}
파라미터:
- brand_no: 브랜드 번호 (빈 값 = 전체)
- cate_no: 카테고리 번호 (빈 값 = 전체)
- sub_cate_no: 하위 카테고리 번호 (빈 값 = 전체)
- g_price_small: 최소 가격
- g_price_max: 최대 가격
- f_key_goods: 검색 키워드 (URL 인코딩 필요)

핫딜 상품:
https://www.feelway.com/sale.php

최저가 가격비교:
https://www.feelway.com/event/catalogueLowest.php?pageNo={page}
- pageNo: 페이지 번호 (1부터 시작)

상품 상세:
https://www.feelway.com/view_goods.php?g_no={product_id}
- g_no: 상품 번호 (예: 7758685820)

이미지 도메인:
https://img000b.feelway.com/
https://img004.feelway.com/
https://img005.feelway.com/
http://icon.feelway.com/
인증: 세션 쿠키 필수
- 1단계: 메인 페이지 접근으로 세션 쿠키 획득
  GET https://www.feelway.com/
- 2단계: 획득한 쿠키로 검색/상세 페이지 요청
- 필수 쿠키: PHPSESSID
- 선택 쿠키: _fwb, _gcl_au, _fbp, _gid, cartCnt 등 (추적용)

필수 헤더:
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
- Accept-Encoding: gzip, deflate, br, zstd
- Connection: keep-alive
- Upgrade-Insecure-Requests: 1
- Sec-Fetch-Dest: document
- Sec-Fetch-Mode: navigate
- Sec-Fetch-Site: same-origin (검색/상세 페이지용)
- Sec-Fetch-User: ?1
- Referer: https://www.feelway.com/ (검색/상세 페이지용)
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...

인코딩:
- Content-Type: text/html; charset=euc-kr (일부 페이지)
- HTML meta charset: euc-kr 또는 utf-8
- 필수: EUC-KR → UTF-8 변환 처리 필요
- mb_convert_encoding() 또는 iconv() 사용

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-03)
HTML 기반 데이터 수집

검색 결과 페이지 파싱:
1. 상품 리스트 추출:
- JavaScript 함수 drawProductList() 호출 부분 찾기
- 패턴: drawProductList([{...JSON 데이터...}])
- 정규식: /drawProductList\(\[(.*?)\]\)/s
- JSON 파싱 후 상품 정보 추출

2. JSON 데이터 구조 (예상):
{
  "0": "브랜드명",
  "brand_name": "브랜드명",
  "1": "브랜드번호",
  "g_no": "상품번호",
  "g_name": "상품명",
  "g_price": "가격",
  "g_image": "이미지URL",
  ...기타 필드...
}


3. HTML 직접 파싱 (대안):
- 상품명: querySelectorAll('[class*="name"], [class*="title"], [class*="goods"]')
- 가격: querySelectorAll('[class*="price"], [class*="cost"], [class*="amount"]')
- 이미지: querySelectorAll('img[src*="feelway.com"]')
- 상품 링크: querySelectorAll('a[href*="view_goods.php"]')
- 상품 ID 추출: href에서 g_no 파라미터 추출

4. 이미지 URL 패턴:
- https://img000b.feelway.com/{상품번호}/0smallbd{brand_no}pd{product_id}ed1.jpg
- https://img004.feelway.com/upfile011/GOODS/{g_no}/{filename}.jpeg
- https://img005.feelway.com/upfile014/GOODS/{g_no}/{filename}.jpeg
- 쿼리 파라미터: ?loc=hotdeal&brand_no={brand_no}&g_no={g_no}

상품 상세 페이지 파싱:
1. 기본 정보:
- 상품명: document.querySelector('title') 또는 h1, h2 태그
- 가격: querySelectorAll('[class*="price"]')
- 브랜드: querySelectorAll('[class*="brand"]') 또는 JSON 데이터
- 상품번호: URL 파라미터 g_no 또는 HTML 속성

2. 이미지 갤러리:
- 메인 이미지: querySelector('img[src*="GOODS/' + g_no + '"]')
- 추가 이미지: querySelectorAll('img[src*="GOODS/' + g_no + '"]')
- 이미지 URL 패턴: https://img*.feelway.com/upfile*/GOODS/{g_no}/*

3. 상세 정보:
- 상품 설명: querySelector('[class*="description"], [class*="detail"]')
- 판매자 정보: querySelector('[class*="seller"], [class*="user"]')
- 감정 서비스: querySelector('[class*="appraisal"], [class*="감정"]')
- 배송 정보: querySelector('[class*="delivery"], [class*="배송"]')
- 카테고리: querySelector('[class*="category"], [class*="카테고리"]')

4. 메타 정보:
- <title>: 상품명 포함
- <meta property="og:title">: 상품명
- <meta property="og:image">: 대표 이미지
- <meta property="og:description">: 상품 설명

주요 HTML 구조:
헤더/네비게이션:
- ID: header, top_area, quick-area
- 클래스: new-header, wrap, head-login-button
- 검색: findTotalSearchKeyword, findTotalListText, findTotalListBox
- 네비게이션: headerGlobalNavigation, headerGlobalNavigationList

상품 리스트 영역:
- 클래스: topBanner__wrap, product-list (추정)
- JavaScript 렌더링 영역 확인 필요

JavaScript 데이터 추출:
1. drawProductList() 함수 호출 찾기:
- 정규식: /drawProductList\s*\(\s*(\[.*?\])\s*\)/s
- JSON 파싱: JSON.parse(matchedJsonString)
- 배열 순회하여 각 상품 정보 추출

2. 인라인 스크립트 태그:
- querySelectorAll('script:not([src])')
- textContent에서 drawProductList 검색
- 정규식으로 JSON 데이터 추출

페이지네이션:
- 최저가 비교: pageNo 파라미터 사용 (1부터 시작)
- 검색 결과: 페이지네이션 HTML 구조 확인 필요
- querySelectorAll('a[href*="pageNo"], a[href*="page="]')로 페이지 링크 찾기

API 엔드포인트:
- JavaScript 파일: https://css.feelway.com/js/apiv1.js?skelecton={timestamp}
- AJAX 요청 가능성: Network 탭에서 확인 필요
- API URL 패턴: /api/ 또는 /ajax/ 경로 확인 필요
특수 요구사항:
1. 인코딩 변환 필수: EUC-KR → UTF-8
2. 쿠키 관리: PHPSESSID 세션 유지
3. Referer 헤더: 검색/상세 페이지 요청 시 필수
4. HTML 파싱: JavaScript 렌더링 데이터 포함 가능
5. 이미지 URL: 여러 CDN 도메인 사용
6. 페이지네이션: 일부 페이지만 pageNo 파라미터 지원

주의사항:
- 일부 페이지는 charset=euc-kr 명시
- Content-Type 헤더와 HTML meta charset 모두 확인 필요
- 잘못된 UTF-8 문자 제거 처리 필요
- JSON 인코딩 시 JSON_INVALID_UTF8_IGNORE 플래그 사용 권장
조사 완료 일자: 2025-12-03

테스트 결과:
- 기본 페이지: HTTP 200 성공 (1.0MB 응답)
- 핫딜: HTTP 200 성공 (466KB 응답)
- 최저가 비교: HTTP 200 성공 (139KB 응답)
- 키워드 검색: HTTP 200 성공 (752KB 응답)
- 상품 상세: HTTP 200 성공 (385KB 응답)
- 세션 쿠키 획득 방법 구현 완료
- 인코딩 변환 처리 완료
- 한글 정상 표시 확인 완료

추가 조사 필요:
- 상품 리스트 HTML 구조 상세 분석
- JavaScript 렌더링 데이터 추출 방법
- 페이지네이션 구조 확인
- AJAX API 엔드포인트 확인
트렌비 조사 완료 기본 주소:
https://www.trenbe.com
(특이사항: 메인 페이지에 투데이 타임세일 상품 포함)

인기상품 랭킹:
https://www.trenbe.com/ranking?type=product

인기브랜드 랭킹:
https://www.trenbe.com/ranking?type=brand

최저가 페이지:
https://www.trenbe.com/promotion/{프로모션ID}
- 예: https://www.trenbe.com/promotion/1203

트렌비 추천 상품:
https://www.trenbe.com/recommendation

키워드 검색:
https://www.trenbe.com/Brand?search={키워드}
- 예: https://www.trenbe.com/Brand?search=루이비통

상품 상세:
https://www.trenbe.com/product/{상품번호}?catalog={카탈로그ID}
- 예: https://www.trenbe.com/product/++143001992?catalog=100956580
- 상품번호 형식: ++{숫자} (예: ++143001992)
- 카탈로그 ID: 선택적 파라미터

API 도메인:
https://weblog-api.trenbe.com
https://service.trenbe.com
https://displaygateway.trenbe.com
https://image-cdn.trenbe.com
https://assets.trenbe.com
인증: 쿠키 필요 (세션 유지)
- 1단계: 메인 페이지 접근으로 세션 쿠키 획득
  GET https://www.trenbe.com
- 2단계: 획득한 쿠키로 검색/상세 페이지 요청
- 필수 쿠키: 세션 쿠키 (자동 생성)
- 선택 쿠키: 추적용 쿠키 (선택적)

필수 헤더:
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
- Accept-Encoding: gzip, deflate, br, zstd
- Connection: keep-alive
- Upgrade-Insecure-Requests: 1
- Sec-Fetch-Dest: document
- Sec-Fetch-Mode: navigate
- Sec-Fetch-Site: same-origin (검색/상세 페이지용)
- Sec-Fetch-User: ?1
- Referer: https://www.trenbe.com (검색/상세 페이지용)
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...

인코딩:
- Content-Type: text/html; charset=UTF-8
- HTML meta charset: utf-8
- UTF-8 인코딩 사용

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-04)
React 기반 SPA (Single Page Application)

⚠️ 중요: 모든 페이지가 동일한 HTML 반환 (약 13.9KB)
- 실제 콘텐츠는 JavaScript로 동적 렌더링
- React 컴포넌트로 클라이언트 사이드 렌더링
- HTML에는 기본 구조만 포함 (id="trenbe-react-body", id="app")

데이터 수집 방법:
1. API 엔드포인트 사용 (권장):
- https://weblog-api.trenbe.com API 호출
- Network 탭에서 실제 API 요청 확인 필요
- JSON 응답으로 상품 데이터 수집 가능

2. JavaScript 실행 (대안):
- Selenium/Playwright 등으로 브라우저 자동화
- JavaScript 실행 후 DOM에서 데이터 추출
- React 컴포넌트가 렌더링된 후 데이터 수집

3. HTML 직접 파싱 (비권장):
- HTML에는 실제 상품 데이터 없음
- 초기 로딩 HTML만 반환됨

주요 HTML 구조:
- ID: trenbe-react-body, app
- 클래스: 없음 (React로 동적 생성)
- 스크립트: React 번들 파일 로드

API 엔드포인트 (추정):
- https://weblog-api.trenbe.com: 웹 로그/분석 API
- https://service.trenbe.com: 서비스 API (상품 데이터)
- https://displaygateway.trenbe.com: 디스플레이 게이트웨이
- https://image-cdn.trenbe.com: 이미지 CDN

추가 조사 필요:
- 실제 상품 데이터 API 엔드포인트 확인
- API 요청 형식 (GET/POST, 파라미터, 헤더)
- 인증 토큰 필요 여부
- 페이지네이션 구조
- 검색 API 엔드포인트
- 상품 상세 API 엔드포인트
특수 요구사항:
1. React SPA 구조: HTML 직접 파싱 불가
2. API 엔드포인트 필수: 실제 데이터는 API로 수집
3. JavaScript 실행 필요: 또는 브라우저 자동화 도구 사용
4. 쿠키 관리: 세션 쿠키 유지 필요
5. Referer 헤더: 검색/상세 페이지 요청 시 권장
6. 동적 렌더링: React 컴포넌트 렌더링 대기 필요

주의사항:
- 모든 페이지가 동일한 HTML 반환 (13,958 bytes)
- 실제 상품 데이터는 JavaScript 실행 후 렌더링
- API 엔드포인트 추가 조사 필수
- Network 탭에서 실제 API 요청 확인 필요
- CORS 정책 확인 필요 (API 직접 호출 시)
조사 완료 일자: 2025-12-04

테스트 결과:
- 기본 페이지: HTTP 200 성공 (13.9KB 응답)
- 인기상품 랭킹: HTTP 200 성공 (13.9KB 응답)
- 인기브랜드 랭킹: HTTP 200 성공 (13.9KB 응답)
- 최저가 페이지: HTTP 200 성공 (13.9KB 응답)
- 트렌비 추천 상품: HTTP 200 성공 (13.9KB 응답)
- 키워드 검색: HTTP 200 성공 (13.9KB 응답)
- 상품 상세: HTTP 200 성공 (13.9KB 응답)
- 모든 페이지 동일한 HTML 반환 확인
- React SPA 구조 확인 완료

⚠️ 중요 발견:
- 트렌비는 React 기반 SPA로, HTML 직접 파싱 불가
- 실제 상품 데이터는 API를 통해 가져와야 함
- weblog-api.trenbe.com API 엔드포인트 확인됨
- 추가 API 엔드포인트 조사 필요

다음 단계:
1. 브라우저 Network 탭에서 실제 API 요청 확인
2. API 엔드포인트 URL 패턴 파악
3. API 요청 파라미터 및 헤더 확인
4. 인증 토큰 필요 여부 확인
5. JSON 응답 구조 분석
리본즈 조사 완료 기본 주소:
https://www.reebonz.co.kr/

랭킹 페이지:
https://www.reebonz.co.kr/ranking
(상품카드에 새상품/빈티지 표시)

키워드 검색 (전체):
https://www.reebonz.co.kr/product_search?keyword={키워드}&ref_info=keyword

새상품 검색 (중고 제외):
https://www.reebonz.co.kr/product_search?keyword={키워드}&ref_info=keyword&service_type=store&page={페이지}&order_by=rating

상품 상세:
https://www.reebonz.co.kr/products/{상품번호}/section/keyword/0?view_type=buy&ref_info=keyword&num=0&keyword={키워드}

이미지 도메인:
https://cdn.reebonzkorea.co.kr/
인증: 기본 헤더만 필요 (쿠키 선택사항)
- GET 요청 사용
- 헤더: Sec-CH-UA, Sec-Fetch-* 헤더 권장
- Referer: 검색/상세 페이지에서 권장
- 프록시 미사용 가능

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-04)

주의사항: SPA(React/Vue 등) 구조로, 초기 HTML은 매우 작음 (5-10KB). 실제 상품 데이터는 JavaScript로 동적 로드됨. 내부 API 호출 또는 브라우저 자동화 필요.
HTML 기반 파싱 (초기 로드):
- 제목: <title> 태그
- 메인 컨테이너: #rootComponent, #mainContainer
- 검색 결과: .searchResultContainer
- 랭킹: .rankingProducts
- 상품 상세: .productContainer, .nr-show-product

JavaScript 데이터 추출:
- 실제 상품 데이터는 JavaScript로 동적 렌더링
- 내부 API 호출 패턴 확인 필요
- 브라우저 자동화(PhantomJS, Puppeteer 등) 또는 네트워크 요청 분석 필요

예상 데이터 필드:
- 상품명, 가격, 이미지 URL
- 서비스 타입 (새상품/빈티지)
- 상품번호, 브랜드, 카테고리
- 판매량, 찜 수 (내부 API에서 확인 필요)
- SPA 구조: 초기 HTML은 껍데기만 반환 (5-10KB)
- 동적 로딩: JavaScript로 실제 데이터 로드
- 페이지네이션: page 파라미터로 페이지 이동
- 필터링: service_type=store (새상품만), order_by=rating (평점순)
- 수집 방법: 내부 API 엔드포인트 식별 또는 브라우저 자동화 필요
구현 완료: 엔드포인트 테스트 페이지 생성 완료
응답 형식: HTML (초기 로드만, 실제 데이터는 JS 동적 로드)
HTML 크기: 기본/랭킹 10KB, 검색/상세 5-6KB (매우 작음)
주요 클래스: .searchResultContainer, .rankingProducts, .productContainer
주요 ID: #rootComponent, #mainContainer, #layout_main
이미지 CDN: cdn.reebonzkorea.co.kr
다음 단계: 네트워크 요청 분석으로 내부 API 엔드포인트 식별 또는 브라우저 자동화 도구 사용 검토
구구스 조사 완료 1단계: 검색 페이지 접근 (GET)
https://www.gugus.co.kr/search/viewSearchList?searchTerm={키워드}&inputSearchTermYn=N

2단계: 상품 목록 API (POST)
https://www.gugus.co.kr/search/selectListSearchGoods

3단계: 상품 상세 페이지 (GET)
https://www.gugus.co.kr/goods/viewGoods?goodsNo={상품번호}

이미지 도메인:
https://image.gugus.co.kr/
쿠키 기반 인증
- 1단계 GET 요청으로 쿠키 획득
- 이후 POST 요청에 쿠키 포함
- 프록시 미사용 (서버 IP 직접 호출)
검색 결과:
- 상품번호 (gdsNo)
- 상품명 (gdsNm)
- 브랜드 영문명 (brndEngNm)
- 브랜드 한글명 (brndKorNm)
- 썸네일 이미지 URL (gdsImgUrl)
- 등급 (gdsGrdNm)
- 카테고리 (ctgrNm, ctgrDetail)
- 판매가격 (prstSalePrc)
- 원가 (originalPrice)
- 할인율 (discountRate)
- 등록일 (postDate)
- 총 상품 수 (totalCount)

상세 페이지:
- 상품 설명 (description)
- 상품 이미지 목록 (534x534 사이즈)
- 판매 상태 (available/sold_out)
- 무한스크롤 방식: 페이지네이션 (한 페이지당 20개 상품)
- 동적 로딩: POST API로 페이지별 데이터 요청
- 병렬 처리: 10-30개 페이지 동시 요청
- 배치 처리: 10-20페이지씩 배치로 수집
- 상세 파싱: 상품번호 수집 후 상세 페이지 별도 요청
구현 완료: 구구스 디자인 참고용 폴더에 100% 구현됨
API 요청 방식: 2단계 인증 (GET 쿠키 획득 → POST API 호출)
응답 형식: JSON (resultList 배열, totalCount 포함)
페이지 크기: 고정 20개/페이지
정렬: sortOrder='ltlyRegDtm' (최근 등록순)
타임아웃: 연결 8-12초, 전체 25-35초 (랜덤화)
동시 연결: 10-30개 랜덤 (차단 방지)
크림 조사 완료 기본 주소:
https://kream.co.kr/

인기 페이지:
https://kream.co.kr/?tab=home_recommendation_v3

신상 페이지:
https://kream.co.kr/?tab=home_richb2c

럭셔리 페이지:
https://kream.co.kr/?tab=home_richluxury

많이 산 상품 랭킹:
https://kream.co.kr/?tab=home_ranking_v2&popular_filter=buy

많이 선물한 랭킹:
https://kream.co.kr/?tab=home_ranking_v2&popular_filter=gift

인기 브랜드 페이지:
https://kream.co.kr/?tab=home_ranking_v2&popular_filter=brand

이미지 도메인:
https://kream-phinf.pstatic.net/
인증: 기본 헤더만 필요 (쿠키 선택사항)
- GET 요청 사용
- 헤더: Sec-CH-UA, Sec-Fetch-* 헤더 권장
- Referer: 검색/상세 페이지에서 권장
- 프록시 미사용 가능

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-04)

주의사항: Nuxt.js 기반 SPA 구조로, 초기 HTML이 매우 큼 (1.9MB ~ 3MB). 실제 상품 데이터는 __NUXT_DATA__ 스크립트 태그 또는 내부 API 호출로 로드됨.
HTML 기반 파싱 (초기 로드):
- 제목: <title> 태그
- 메인 컨테이너: #__nuxt, #wrap
- Nuxt 데이터: #__NUXT_DATA__ (스크립트 태그 내 JSON 데이터 포함 가능성)
- 헤더: .header-desktop, .header_main
- 메인 콘텐츠: main 태그

JavaScript 데이터 추출:
- __NUXT_DATA__ ID를 가진 스크립트 태그에서 JSON 데이터 추출 가능
- Nuxt.js SSR 데이터가 HTML에 포함되어 있을 가능성
- 내부 API 호출 패턴 확인 필요

확인된 데이터 필드:
- 상품명 (product_name)
- 가격 (price) - 랭킹 페이지에서 추출 가능
- 이미지 URL (kream-phinf.pstatic.net 도메인)
- 카테고리 (추천, 신상, 패딩, 럭셔리, 랭킹, 중고, 뷰티, 이벤트)
- 일반판매 가격과 보관판매 평균 가격 (추가 조사 필요)
- SPA 구조: Nuxt.js 기반, 초기 HTML이 매우 큼 (1.9MB ~ 3MB)
- 탭 기반 네비게이션: ?tab= 파라미터로 페이지 전환
- 필터링: popular_filter=buy (많이 산), popular_filter=gift (많이 선물한), popular_filter=brand (인기 브랜드)
- 데이터 수집 방법: __NUXT_DATA__ 스크립트 태그에서 JSON 추출 또는 네트워크 요청 분석으로 내부 API 식별
- 페이지 크기: 1.9MB ~ 3MB (매우 큼, SSR 데이터 포함)
구현 완료: 엔드포인트 테스트 페이지 생성 완료
응답 형식: HTML (Nuxt.js SSR, 초기 로드에 데이터 포함)
HTML 크기: 1.9MB ~ 3MB (매우 큼, SSR 데이터 포함)
주요 클래스: .layout_base, .header-desktop, .header_main, .wrap
주요 ID: #__nuxt, #__NUXT_DATA__, #wrap, #WebSite
이미지 CDN: kream-phinf.pstatic.net (네이버 스토리지)
데이터 추출: __NUXT_DATA__ 스크립트 태그에서 JSON 데이터 추출 또는 네트워크 요청 분석 필요
특수 요구사항: 일반판매 가격과 보관판매 평균 가격 수집 필요 (머스트잇/트렌비와 유사)
캉카스 조사 완료 기본 주소:
https://www.kangkas.com/

키워드 검색:
https://www.kangkas.com/goods/goods_search.php?keyword={키워드}

상품 상세:
https://www.kangkas.com/goods/goods_view.php?goodsNo={상품번호}

신규 상품:
https://www.kangkas.com/goods/goods_list.php?cateCd={카테고리코드}

이미지 도메인:
https://commercekks3.cdn-nhncommerce.com/
인증: 기본 헤더만 필요 (쿠키 선택사항)
- GET 요청 사용
- 헤더: Sec-CH-UA, Sec-Fetch-* 헤더 권장
- Referer: 검색/상세 페이지에서 권장
- 프록시 미사용 가능

구현 상태: ✅ HTTP 200 성공 확인 완료 (2025-12-04)
HTML 기반 (PHP SSR)
- NHN Commerce 기반 쇼핑몰 시스템
- 상품명: <h1> 또는 클래스 기반 추출
- 가격: price 클래스 또는 텍스트 패턴 (예: "₩3,200,000")
- 상품번호: URL 파라미터 goodsNo 또는 HTML 내부
- 이미지: <img src="..."> (CDN 도메인 사용)
- 상품 링크: <a href="/goods/goods_view.php?goodsNo={번호}">
- 카테고리: cateCd 파라미터로 필터링

이미지 URL 패턴:
- /data/skin/front/moment/img/ (공통 이미지)
- /data/skin/front/moment/img/banner/ (배너)
- /data/skin/front/moment/img/common/ (아이콘/버튼)
- 상품 이미지는 추가 분석 필요
- HTML 기반: JSON API 없음, PHP로 HTML 제공
- 페이지네이션: 추가 확인 필요
- 카테고리 코드: 신규 상품 목록에서 사용 (예: 039015)
- 검색 결과: "RESULTS FOR {키워드}" 형식으로 표시
- CDN 사용: NHN Commerce CDN 활용
✅ 테스트 완료 (2025-12-04):
- 기본 페이지: HTTP 200 성공 (194KB)
- 키워드 검색: HTTP 200 성공 (296KB), 가격 데이터 추출 확인
- 상품 상세: HTTP 200 성공 (295KB), 상품명/가격 추출 확인
- 신규 상품: HTTP 200 성공 (307KB), 가격 데이터 추출 확인

HTML 구조:
- 주요 클래스: body-goods, body-goods-search, body-goods-view, body-goods-list
- 검색 관련: layer_search, auto_complete, hit_keyword
- 가격 표시: price 클래스 또는 텍스트 패턴

데이터 추출: HTML 파싱으로 상품명, 가격, 이미지, 링크 추출 가능
다음 단계: 상품 리스트 구조 상세 분석 및 페이지네이션 확인

조사 시 확인할 항목