~/ecommerce/macys-scraper
Macy's Scraper — 상품, 가격, SKU 및 뉴스
Macy's 상품 데이터 — 가격, 상품 변형, SKU/UPC 바코드, 이미지, 평점 및 리뷰 — 를 검색, 카테고리, 트렌딩, 상품 URL에서 추출하고, Macy's Inc. 뉴스까지 함께 수집합니다. 브라우저가 필요 없습니다.
백화점
TypeScriptCrawleeCheerio
미국
카테고리ecommerce / 백화점
언어TypeScript
스택TypeScript, Crawlee, Cheerio
마켓미국
출력클린한 RAG-레디 JSON
주요 기능
하나의 액터에 4가지 소스 — 상품 검색, 카테고리, 트렌딩, Macy's Inc. 뉴스
브라우저 없이 빠르고 안정적 — 페이지당 몇 분이 아닌 몇 초
구매 가능한 모든 상품 변형에 대해 색상, 사이즈, 재고, 가격과 함께 SKU별 UPC 바코드 제공
정수 센트 단위 가격과 로케일 포맷 문자열을 함께 제공 — 부동소수점 반올림 오류 없음
완전한 리뷰 인텔리전스 — 별점 히스토그램, 추천 수, 핏/사이즈 보조 평점
변형마다 별도 행이 아니라 모든 색상과 사이즈를 하나의 상품 레코드로 그룹화
클린한 캐노니컬 URL만 제공 — 출력에 추적·쿼리 파라미터 없음
검색, 카테고리, 트렌딩, 상품 상세 결과 전반에 걸친 단일 정규화 스키마
활용 사례
- SKU 단위의 백화점 가격 및 프로모션 모니터링
- 경쟁사 분석 — Macy's 대 Nordstrom, Ulta, 또는 브랜드 DTC 가격 비교
- 변형별 UPC 바코드를 통한 리테일러 간 카탈로그 매칭
- Macy's에 입점한 브랜드를 위한 리뷰 및 평점 인텔리전스
- 리테일 뉴스 모니터링 — Macy's Inc.의 보도자료 및 실적 발표
입력 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
scrapeType | string | 필수 | 크롤링할 소스: search, category, trending, news, all 중 선택(기본값: search). |
query | string | 선택 | 상품 검색 키워드, 예: women shoes. |
startUrls | array | 선택 | Macy's 상품/카테고리 URL 또는 Macy's Inc. 뉴스 URL. |
categoryIds | array | 선택 | Macy's 카테고리 ID(예: 5449). 알고 있다면 카테고리 URL 사용을 권장. |
trendingUrls | array | 선택 | 트렌딩, 베스트셀러, 또는 큐레이션된 리스팅 URL. |
newsUrls | array | 선택 | Macy's Inc. 뉴스 목록 또는 기사 URL. |
includeProductDetails | boolean | 선택 | 리스팅 항목에 전체 상품 상세(변형, SKU, 갤러리) 정보를 보강(기본값: true). |
maxPages | number | 선택 | 리스팅/뉴스 소스별 최대 페이지네이션 깊이. |
maxResults | number | 선택 | 출력 레코드 상한. 0 = 상한 없음. |
proxy | object | 필수 | Apify Proxy 또는 커스텀 프록시 URL. 레지덴셜, 국가는 미국을 권장. |
출력 예시
1{
2 "type": "product",
3 "source": {
4 "id": "12345678",
5 "canonicalUrl": "https://www.macys.com/shop/product/calvin-klein-womens-sheath-dress?ID=12345678",
6 "retailer": "macys",
7 "currency": "USD"
8 },
9 "title": "Women's Sleeveless Sheath Dress",
10 "brand": "Calvin Klein",
11 "categories": ["Women", "Dresses", "Work Dresses"],
12 "price": {
13 "sale": 5999,
14 "list": 9800,
15 "currentFormatted": "$59.99",
16 "stockStatus": "InStock"
17 },
18 "stats": { "rating": 4.6, "reviewCount": 9, "ratingPercentage": 92 },
19 "options": [
20 { "type": "Color", "values": [{ "id": "1", "name": "Black" }] },
21 { "type": "Size", "values": [{ "id": "10", "name": "M" }, { "id": "12", "name": "L" }] }
22 ],
23 "variants": [
24 {
25 "id": "987654",
26 "sku": "192837465012",
27 "options": ["Black", "M"],
28 "price": { "stockStatus": "InStock" },
29 "extraInfo": { "upc": "192837465012" }
30 }
31 ],
32 "medias": [{ "type": "Image", "url": "https://slimages.macysassets.com/is/image/MCY/products/.../main.jpg" }]
33}
요금
이벤트당 과금 — 실제로 저장된 항목에 대해서만 비용이 청구됩니다:
| 이벤트 | 가격 | 포함 내용 |
|---|---|---|
| 상품 크롤링 | $0.006 | 전체 상세 정보(변형, SKU/UPC, 가격, 이미지, 평점)를 포함한 상품 1건 |
| 기사 크롤링 | $0.002 | Macy’s Inc. 뉴스 기사 1건 — 제목, 작성자, 날짜, 본문, 이미지 |
상위 Apify 플랜에서는 볼륨 할인이 자동 적용됩니다(최저 상품당 $0.0045). 1,000개 상품 크롤링은 정가 기준 약 $6.00입니다.
팁
- 미국 레지덴셜 프록시를 사용하세요. 상품 상세 엔드포인트는 간헐적으로 레이트 리밋에 걸립니다. 레지덴셜 세션 로테이션은 깔끔하게 통과하지만, 데이터센터 IP는 403을 더 자주 만납니다.
- 동시성은 적당히 유지하세요.
maxConcurrency2~3이 최적 구간입니다 — 그보다 높이면 처리량 향상 없이 레이트 리밋만 더 자주 발생합니다. - 단독 ID보다는 카테고리 URL을 사용하세요. URL에는 전체 카테고리 경로가 담겨 있습니다 — 단독 ID만 사용하면 더 광범위하거나 빈 결과 집합으로 해석될 수 있습니다.
- 상품 변형이나 설명이 필요 없다면
includeProductDetails를 꺼서 빠른 리스팅 수준 스윕(이름, 브랜드, 리스팅 가격, 이미지, 평점)을 수행하세요.
자주 묻는 질문
로그인, 쿠키, API 키가 필요한가요?
아니요. 계정, 쿠키, API 키 없이 Apify 프록시(레지덴셜, 국가 미국 권장)만 있으면 됩니다.
가격은 달러 단위인가요, 센트 단위인가요?
부동소수점 반올림 오류를 피하기 위해 정수 센트 단위(5999 = $59.99)로 제공하며, 로케일 포맷 문자열($59.99)도 함께 제공합니다.
상품 변형과 UPC는 어떻게 처리되나요?
모든 색상과 사이즈는 variants[] 배열을 가진 하나의 상품 레코드로 그룹화됩니다. 각 변형은 고유한 UPC 바코드, 색상, 사이즈, 재고, 가격을 담고 있으며, 이는 스와치 위젯을 긁어낸 것이 아니라 Macy's의 SKU 관계 데이터에서 복원한 것입니다.
한 번의 실행으로 상품과 뉴스를 모두 크롤링할 수 있나요?
네. scrapeType을 all로 설정하고 query, startUrls, categoryIds, trendingUrls, newsUrls를 원하는 대로 조합해 제공하면 됩니다.