~/ecommerce/sephora-scraper

Sephora Scraper (ग्लोबल)

एक Apify एक्टर जो US, Canada, 9 EU मार्केट, 6 मिडिल ईस्ट मार्केट, UK, India, और 10 एशिया-पैसिफ़िक मार्केट के Sephora स्टोरफ्रंट से — वेरिएंट, प्राइस, इमेज, ingredients, और रिव्यू सहित — पूरा Sephora प्रोडक्ट डेटा एक ही normalized schema में एक्सट्रैक्ट करता है।

ब्यूटी PythonCrawlee अमेरिकाकनाडाफ्रांसइटलीजर्मनीस्पेनपोलैंडचेक गणराज्यग्रीसरोमानियापुर्तगालसंयुक्त अरब अमीरातसऊदी अरबबहरीनओमानकुवैतकतरयूनाइटेड किंगडमभारतन्यूज़ीलैंडऑस्ट्रेलियासिंगापुरमलेशियाथाईलैंडइंडोनेशियाफिलीपींसहॉन्ग कॉन्गताइवानब्रुनेई
proooxy/sephora-scraper — स्पेक
कैटेगरीecommerce / ब्यूटी
भाषाPython
स्टैकPython, Crawlee
मार्केट्सअमेरिका, कनाडा, फ्रांस, इटली, जर्मनी, स्पेन, पोलैंड, चेक गणराज्य, ग्रीस, रोमानिया, पुर्तगाल, संयुक्त अरब अमीरात, सऊदी अरब, बहरीन, ओमान, कुवैत, कतर, यूनाइटेड किंगडम, भारत, न्यूज़ीलैंड, ऑस्ट्रेलिया, सिंगापुर, मलेशिया, थाईलैंड, इंडोनेशिया, फिलीपींस, हॉन्ग कॉन्ग, ताइवान, ब्रुनेई
आउटपुटसाफ, RAG-तैयार JSON

मुख्य विशेषताएं

US, Canada, 9 EU मार्केट, 6 मिडिल ईस्ट मार्केट, UK, India, और 10 APAC मार्केट के लिए एक एक्टर

ऑटो-डिटेक्टेड मार्केट — कोई भी sephora.* URL पेस्ट करें और dispatcher उसे सही मॉड्यूल पर रूट कर देता है

मिक्स्ड मल्टी-मार्केट रन — US + EU + SEA URL एक ही startUrls लिस्ट में, `market` से टैग किए गए एक ही dataset में स्ट्रीम्ड

Locale-सही प्राइसिंग — हर स्टोरफ्रंट की अपनी करेंसी (कुल 24 — USD और EUR से लेकर AED और INR तक), जैसा Sephora की अपनी localization लेयर उसे लौटाती है

Normalized schema — हर मार्केट एक ही `source / brand / title / options / variants / medias / stats` शेप देता है

Per-market सेशन आइसोलेशन — auth state रीजन के बीच cross-contaminate नहीं हो सकता

ग्लोबल सर्किट ब्रेकर — किसी डाउन टारगेट पर कंप्यूट बर्न होने से बचाने के लिए 50 लगातार फ़ेलियर पर रन एबॉर्ट हो जाता है

यूज़ केस

  • US, EU, और APAC ब्यूटी मार्केट में पैन-रीजनल प्राइसिंग इंटेलिजेंस
  • क्रॉस-मार्केट प्रोडक्ट उपलब्धता और assortment मॉनिटरिंग
  • नए Sephora रीजन में लॉन्च करने वाले ब्रांड्स के लिए प्रतिस्पर्धी विश्लेषण
  • रीजनल formulations में ingredient कंपैरिज़न
  • रिव्यू और रेटिंग ट्रैकिंग — SEA wishlist सिग्नल और US AI sentiment summaries सहित
  • प्रति मार्केट Loyalty/membership प्राइसिंग ऑडिट

इनपुट पैरामीटर

पैरामीटरटाइपआवश्यकविवरण
startUrlsarrayआवश्यककिसी भी sephora.* स्टोरफ्रंट से प्रोडक्ट या कैटेगरी URL। मार्केट hostname से ऑटो-डिटेक्ट होता है।
marketstringवैकल्पिकवैकल्पिक मार्केट override (us, eu-fr, eu-it, eu-de, eu-es, eu-pl, eu-ro, eu-pt, eu-cz, eu-gr, mena-ae, mena-sa, mena-bh, mena-om, mena-kw, mena-qa, uk, in, sea-nz, sea-au, sea-sg, sea-my, sea-th, sea-id, sea-ph, sea-hk, sea-tw, sea-bn)।
localestringवैकल्पिकवैकल्पिक BCP 47 locale (जैसे fr-FR, en-NZ) — मार्केट डिफ़ॉल्ट को override करता है।
categoryIdsarrayवैकल्पिकEU, मिडिल ईस्ट, UK और India के लिए। हर मार्केट के अपने फ़ॉर्मेट में category ID (जैसे EU स्टोरफ्रंट पर C479) — कैटेगरी URL पेस्ट करने का विकल्प।
onlyNewProductsbooleanवैकल्पिकसिर्फ़ हाल ही में जोड़े गए प्रोडक्ट: US/Canada और FR, IT, DE, ES, PL, RO, PT पर सर्वर-साइड फ़िल्टर; SEA और India पर नई-पहले लिस्टिंग पेज। बाकी जगह सपोर्टेड नहीं।
newProductsPageLimitnumberवैकल्पिकonlyNewProducts के SEA या India पर चलने पर प्रति कैटेगरी लिस्टिंग पेज। डिफ़ॉल्ट 3।
advancedFilterstringवैकल्पिकसिर्फ़ US/Canada कैटेगरी लिस्टिंग के लिए: filters[isNew]=true जैसी raw refinement expression।
proxyobjectवैकल्पिकApify प्रॉक्सी कॉन्फ़िग। रेजिडेंशियल की ज़ोरदार सलाह; apifyProxyCountry को टारगेट मार्केट पर पिन करें।
maxConcurrencynumberवैकल्पिकसमवर्ती रिक्वेस्ट। डिफ़ॉल्ट 5। US: 2-5। EU: 3। SEA: 8-16।
maxRequestsPerCrawlnumberवैकल्पिकसभी मार्केट में ग्लोबल hard cap। 0 = अनलिमिटेड।

सपोर्टेड मार्केट

रीजनमार्केट IDदेशकरेंसीहोस्टनेम
अमेरिकाusसंयुक्त राज्य अमेरिकाUSDsephora.com
अमेरिकाusकनाडाCADsephora.ca
EUeu-frफ्रांसEURsephora.fr
EUeu-itइटलीEURsephora.it
EUeu-deजर्मनीEURsephora.de
EUeu-esस्पेनEURsephora.es
EUeu-plपोलैंडPLNsephora.pl
EUeu-czचेक गणराज्यCZKsephora.cz
EUeu-grग्रीसEURsephora.gr
EUeu-roरोमानियाRONsephora.ro
EUeu-ptपुर्तगालEURsephora.pt
मिडिल ईस्टmena-aeसंयुक्त अरब अमीरातAEDsephora.me/ae-en
मिडिल ईस्टmena-saसऊदी अरबSARsephora.me/sa-en
मिडिल ईस्टmena-bhबहरीनBHDsephora.me/bh-en
मिडिल ईस्टmena-omओमानOMRsephora.me/om-en
मिडिल ईस्टmena-kwकुवैतKWDsephora.me/kw-en
मिडिल ईस्टmena-qaकतरQARsephora.me/qa-en
UKukयूनाइटेड किंगडमGBPsephora.co.uk
IndiainभारतINRsephora.in
APACsea-nzन्यूज़ीलैंडNZDsephora.nz
APACsea-auऑस्ट्रेलियाAUDsephora.com.au
APACsea-sgसिंगापुरSGDsephora.sg
APACsea-myमलेशियाMYRsephora.com.my
APACsea-thथाईलैंडTHBsephora.co.th
APACsea-idइंडोनेशियाIDRsephora.co.id
APACsea-phफिलीपींसPHPsephora.ph
APACsea-hkहॉन्ग कॉन्गHKDsephora.hk
APACsea-twताइवानTWDsephora.tw
APACsea-bnब्रुनेईBNDsephora.bn

आउटपुट का उदाहरण

 1{
 2  "market": "sea-nz",
 3  "source": {
 4    "id": 58792,
 5    "canonicalUrl": "https://www.sephora.nz/products/rare-beauty-true-to-myself-natural-matte-longwear-foundation",
 6    "retailer": "SEPHORA",
 7    "currency": "NZD"
 8  },
 9  "brand": "Rare Beauty",
10  "title": "True To Myself Natural Matte Longwear Foundation",
11  "description": "<p>A self-priming and self-setting foundation...</p>",
12  "ingredients": "Aqua/Water, Cyclopentasiloxane, Glycerin...",
13  "currentSku": "770225",
14  "categories": ["makeup/face/foundation"],
15  "options": [
16    { "name": "shade", "id": "66488", "values": [{"value": "1 Fair Neutral", "orderable": true}] }
17  ],
18  "variants": [
19    {
20      "id": "276343",
21      "sku": "770225",
22      "price": { "current": 77.0, "original": 77.0, "stockStatus": "IN_STOCK" },
23      "options": [{"name": "shade", "value": "1 Fair Neutral"}],
24      "highlights": ["NEW", "Only at Sephora"],
25      "wishlisted": null
26    }
27  ],
28  "medias": [{ "url": "https://www.sephora.nz/.../foundation-shade.jpg", "type": "image" }],
29  "stats": { "reviewCount": 971, "rating": 4.8, "lovesCount": null }
30}

टिप्स

  • प्रॉक्सी country को टारगेट मार्केट पर पिन करें। गलत country का रेजिडेंशियल exit 403s का सबसे बड़ा सोर्स है। apifyProxyCountry को स्टोरफ्रंट के ISO कोड (US, FR, NZ, वगैरह) पर सेट करें।
  • पहले smoke-test करें। किसी नए मार्केट में अपने पहले प्रोडक्शन रन से पहले maxRequestsPerCrawl=10 सेट करें।
  • प्रति रीजन कॉन्करेंसी ट्यून करें। US: 2-5। EU: 3। SEA: 8-16। मिक्स्ड रन में हर मार्केट को अपना सेमाफ़ोर मिलता है।

सामान्य प्रश्न

यह स्क्रैपर कौन-कौन से Sephora स्टोरफ्रंट सपोर्ट करता है?
अमेरिका (sephora.com), कनाडा (sephora.ca), 9 EU मार्केट (FR, IT, DE, ES, PL, CZ, GR, RO, PT), sephora.me पर 6 मिडिल ईस्ट मार्केट (AE, SA, BH, OM, KW, QA), यूनाइटेड किंगडम (sephora.co.uk), भारत (sephora.in), और 10 APAC मार्केट (NZ, AU, SG, MY, TH, ID, PH, HK, TW, BN)। मार्केट URL से ऑटो-डिटेक्ट होता है — hostname से, या sephora.me पर /ae-en/-जैसे path prefix से — इसलिए मिक्स्ड-मार्केट रन के लिए कोई अतिरिक्त इनपुट नहीं चाहिए।
क्या मैं एक ही रन में कई मार्केट स्क्रैप कर सकता हूं?
हां। एक ही startUrls लिस्ट में sephora.com, sephora.fr, और sephora.nz URL मिक्स करें। Dispatcher इन्हें मार्केट के हिसाब से ग्रुप करता है, हर मॉड्यूल को मार्केट-उपयुक्त auth के साथ समवर्ती रूप से चलाता है, और हर dataset आइटम को एक `market` फ़ील्ड से टैग करता है।
स्क्रैपर एंटी-बॉट प्रोटेक्शन कैसे हैंडल करता है?
सभी मार्केट रेजिडेंशियल प्रॉक्सी से चलते हैं; कोई रिक्वेस्ट ब्लॉक होने पर नए सेशन के साथ अपने-आप दोबारा कोशिश होती है। सबसे अच्छी सफलता दर के लिए प्रॉक्सी country को स्टोरफ्रंट के मार्केट पर पिन करें।
क्या मेरे मौजूदा v1.x US रन कॉन्फ़िग काम करते रहेंगे?
हां। Pre-2.0 इनपुट — startUrls, maxConcurrency, proxy, maxRequestsPerCrawl — बिल्कुल पहले जैसा ही व्यवहार करते हैं। सिर्फ़ आउटपुट में बदलाव यह है कि हर आइटम पर एक नया `market` key जुड़ जाता है, जो एक soft additive बदलाव है।
SEA डेटा में कुछ फ़ील्ड null क्यों होते हैं?
Sephora SEA का API `lovesCount` काउंटर एक्सपोज़ नहीं करता, इसलिए APAC आइटम में `stats.lovesCount = null` होता है। इसके बजाय हर वेरिएंट में एक boolean `wishlisted` फ़ील्ड होता है। वहीं दूसरी ओर, `sentiments` (AI रिव्यू summaries) और `source.crawlUrl` सिर्फ़ US के लिए हैं।
क्या मुझे प्रति मार्केट अलग API tokens या अकाउंट चाहिए?
नहीं। आपका मौजूदा Apify API token बिना किसी बदलाव के काम करता है। एक्टर per-market गेस्ट tokens को इंटरनली हैंडल करता है — EU/SEA के लिए किसी क्रेडेंशियल की ज़रूरत नहीं, और US स्टैंडर्ड Apify रेजिडेंशियल प्रॉक्सी पर काम करता है।

~/ecommerce में संबंधित

Sephora Scraper (ग्लोबल) रन करें, या कस्टम बिल्ड पाएं

मिनटों में Apify पर एक्सट्रैक्शन शुरू करें, या अपने सोर्स और स्कीमा के लिए कस्टम स्क्रैपर और RAG पाइपलाइन बनवाने के लिए मुझे हायर करें।

Apify पर रन करें कस्टम डेटा पाएं