~/ecommerce/sephora-scraper

Sephora Scraper(グローバル)

米国、カナダ、9つのEU市場、10のアジア太平洋市場——合計21店舗のSephoraから、バリアント・価格・画像・成分・レビューを含む完全な商品データを、単一の正規化スキーマで抽出するApifyアクターです。

美容 >99%成功 PythonCrawleecurl_cffi アメリカカナダフランスイタリアドイツスペインポーランドチェコギリシャルーマニアポルトガルニュージーランドオーストラリアシンガポールマレーシアタイインドネシアフィリピン香港台湾ブルネイ
proooxy/sephora-scraper — スペック
カテゴリecommerce / 美容
言語Python
スタックPython, Crawlee, curl_cffi
マーケットアメリカ, カナダ, フランス, イタリア, ドイツ, スペイン, ポーランド, チェコ, ギリシャ, ルーマニア, ポルトガル, ニュージーランド, オーストラリア, シンガポール, マレーシア, タイ, インドネシア, フィリピン, 香港, 台湾, ブルネイ
成功率>99%
出力クリーンでRAG対応のJSON

主な機能

1つのアクターで21店舗に対応 — 米国、カナダ、9つのEU市場、10のAPAC市場を単一のSKUでカバー

市場の自動検出 — sephora.*のURLを貼り付けるだけで、ディスパッチャーが適切なモジュールへルーティング

複数市場を混在させた実行 — US+EU+SEAのURLを1つのstartUrlsリストにまとめ、`market`タグ付きの単一データセットへストリーミング

ロケールに応じた正確な価格 — NZD、EUR、USD、AUDおよびその他17通貨を、Sephora自身のローカライゼーション層から返却

正規化されたスキーマ — すべての市場が同じ`source / brand / title / options / variants / medias / stats`構造で出力

市場ごとのセッション分離 — 認証状態がリージョン間で混線することはありません

グローバルサーキットブレーカー — 50回連続で失敗すると実行を中断し、ダウンしたターゲットへの無駄な計算リソース消費を回避

活用例

  • 米国・EU・APACの美容市場を横断する地域間価格インテリジェンス
  • 市場横断での商品在庫・品揃えモニタリング
  • 新たなSephora地域に進出するブランド向けの競合分析
  • 地域別処方における成分比較
  • レビュー・評価のトラッキング — SEAのウィッシュリストシグナルや米国のAIセンチメント要約を含む
  • 市場ごとのロイヤルティ/会員価格監査

入力パラメータ

パラメータ必須説明
startUrlsarray必須任意のsephora.*店舗の商品またはカテゴリURL。市場はホスト名から自動検出されます。
marketstring任意市場を上書き指定するオプション項目(us、eu-fr、eu-it、eu-de、eu-es、eu-pl、eu-cz、eu-gr、eu-ro、eu-pt、sea-nz、sea-au、sea-sg、sea-my、sea-th、sea-id、sea-ph、sea-hk、sea-tw、sea-bn)。
localestring任意オプションのBCP 47ロケール(例:fr-FR、en-NZ) — 市場のデフォルト設定を上書きします。
categoryIdsarray任意EU限定。C479のようなSFCCカテゴリID — カテゴリURLを貼り付ける代わりに使用できます。
proxyobject任意Apifyプロキシ設定。レジデンシャルを強く推奨。apifyProxyCountryを対象市場に固定してください。
maxConcurrencynumber任意同時実行リクエスト数。デフォルト5。US:2〜5。EU:3。SEA:8〜16。
maxRequestsPerCrawlnumber任意全市場共通のグローバルな上限値。0=無制限。

Supported markets

地域マーケットID通貨ホスト名
南北アメリカusUnited StatesUSDsephora.com
南北アメリカusCanadaCADsephora.ca
EUeu-frFranceEURsephora.fr
EUeu-itItalyEURsephora.it
EUeu-deGermanyEURsephora.de
EUeu-esSpainEURsephora.es
EUeu-plPolandPLNsephora.pl
EUeu-czCzech RepublicCZKsephora.cz
EUeu-grGreeceEURsephora.gr
EUeu-roRomaniaRONsephora.ro
EUeu-ptPortugalEURsephora.pt
APACsea-nzNew ZealandNZDsephora.nz
APACsea-auAustraliaAUDsephora.com.au
APACsea-sgSingaporeSGDsephora.sg
APACsea-myMalaysiaMYRsephora.com.my
APACsea-thThailandTHBsephora.co.th
APACsea-idIndonesiaIDRsephora.co.id
APACsea-phPhilippinesPHPsephora.ph
APACsea-hkHong KongHKDsephora.hk
APACsea-twTaiwanTWDsephora.tw
APACsea-bnBruneiBNDsephora.bn

Output Example

 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}

Tips

  • プロキシの国を対象市場に固定しましょう。 国が一致しないレジデンシャル出口は、SephoraのAkamai層による403エラーの最大の原因です。apifyProxyCountryを店舗のISOコード(USFRNZなど)に設定してください。
  • まずはスモークテストを。 新しい市場での本番実行前にmaxRequestsPerCrawl=10を設定して試しましょう。
  • 同時実行数はリージョンごとに調整しましょう。 US:2〜5。EU:3。SEA:8〜16。混在実行では、各市場が独自のセマフォを持ちます。

よくある質問

このスクレイパーが対応しているSephora店舗はどこですか?
21店舗:米国(sephora.com)、カナダ(sephora.ca)、9つのEU市場(フランス、イタリア、ドイツ、スペイン、ポーランド、チェコ、ギリシャ、ルーマニア、ポルトガル)、10のAPAC市場(ニュージーランド、オーストラリア、シンガポール、マレーシア、タイ、インドネシア、フィリピン、香港、台湾、ブルネイ)です。市場はホスト名から自動検出されるため、複数市場を混在させる場合も入力の変更は不要です。
1回の実行で複数の市場をスクレイピングできますか?
はい。sephora.com、sephora.fr、sephora.nzのURLを1つのstartUrlsリストに混在させてください。ディスパッチャーが市場ごとにグループ化し、各モジュールを市場に適した認証で並列実行し、すべてのデータセットアイテムに`market`フィールドを付与します。
アンチボット対策にはどう対応していますか?
全市場でレジデンシャルプロキシを使用し、EUとSEAのトラフィックにはcurl_cffiによるブラウザ品質のTLSフィンガープリンティングを用いてAkamaiを回避します。米国のトラフィックは、403/429でローテーションするセッションプールを備えたCrawleeのHttpCrawlerを使用します。
既存のv1.x US実行設定はそのまま使えますか?
はい。2.0より前の入力——startUrls、maxConcurrency、proxy、maxRequestsPerCrawl——は同一の挙動をします。出力の変更点は、すべてのアイテムに新たな`market`キーが追加される点のみで、これは後方互換性のある追加的な変更です。
SEAデータで一部のフィールドがnullになるのはなぜですか?
Sephora SEAのAPIは`lovesCount`カウンターを公開していないため、APACのアイテムでは`stats.lovesCount = null`になります。代わりに、各バリアントにはboolean型の`wishlisted`フィールドがあります。逆に、`sentiments`(AIによるレビュー要約)と`source.crawlUrl`は米国限定です。
市場ごとに個別のAPIトークンやアカウントが必要ですか?
いいえ。既存のApify APIトークンをそのまま使用できます。市場ごとのゲストトークンはアクター内部で処理されます——EU/SEAでは認証情報は不要で、米国は標準のApifyレジデンシャルプロキシで動作します。

~/ecommerce の関連ツール

Sephora Scraper(グローバル)を実行、またはカスタム開発を依頼

数分でApify上での抽出を開始できます。または、あなたの取得元とスキーマに合わせたオーダーメイドのスクレイパーとRAGパイプラインの構築を依頼できます。

Apifyで実行 カスタムデータを依頼