~/ecommerce/asos-scraper
ASOS スクレイパー — 価格・サイズ別在庫・レビュー・カテゴリ
ASOS の12ストアから商品とカテゴリを取得:希望小売価格と過去30日最安値付きの価格、サイズごとの在庫、EANコード、カラー・サイズのバリエーション、画像とランウェイ動画、評価、レビュー、お気に入り数。
ファッション
TypeScriptCrawlee
イギリスアメリカフランスドイツスペインイタリアオランダポーランドスウェーデンデンマークオーストラリアロシア
カテゴリecommerce / ファッション
言語TypeScript
スタックTypeScript, Crawlee
マーケットイギリス, アメリカ, フランス, ドイツ, スペイン, イタリア, オランダ, ポーランド, スウェーデン, デンマーク, オーストラリア, ロシア
出力クリーンでRAG対応のJSON
主な機能
ストアのトップページURLだけでメニューの全カテゴリを取得(商品数・絞り込み項目付き)
各バリエーションにサイズ別在庫・SKU・EANコード
元の価格、希望小売価格、過去30日最安値、値下げフラグ付きの価格
12ストア、それぞれ現地の通貨・言語・サイズ表記
評価分布、サイズ感/品質/履き心地の平均、AIによるレビュー要約、最新レビュー
モデル着用画像、平置き画像、カラースウォッチ、ランウェイ動画をカラーに紐付け
お気に入り数と、同じスタイルの他のカラー
活用例
- 市場横断のアパレル価格モニタリングと値下げ追跡
- サイズ単位の在庫・消化率分析
- 競合調査のための品揃え・カテゴリ構成の把握
- 商品・サイズ設計チーム向けのレビュー・フィット感分析
- ライブデータに基づく商品カタログとショッピングエージェント
- EANコードによる他社カタログとの照合
入力パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
startUrls | array | 必須 | 任意の ASOS ストアのトップ、部門、カテゴリ、検索、商品グループ、商品の URL |
withCategoryProducts | boolean | 任意 | トップ・部門URLの場合、メニューの各カテゴリの全商品も取得(既定値:false) |
withReviews | boolean | 任意 | 評価統計と最新レビューを取得(既定値:true) |
maxReviewsPerProduct | number | 任意 | 商品ごとの最新レビュー件数、0–100(既定値:10) |
withSavedCount | boolean | 任意 | 過去30日のお気に入り数を取得(既定値:true) |
withOtherColours | boolean | 任意 | 同じスタイルの他のカラーを一覧(既定値:true) |
maxRequestsPerCrawl | number | 任意 | ページ上限、0で無制限(既定値:0) |
maxConcurrency | number | 任意 | 並列リクエスト数(既定値:20) |
proxy | object | 任意 | ストア全体のクロールにはレジデンシャルプロキシを推奨 |
出力例
1{
2 "source": {
3 "id": "205774480",
4 "canonicalUrl": "https://www.asos.com/adidas-originals/adidas-originals-handball-spezial-gum-sole-trainers-in-brown-and-white/prd/205774480",
5 "retailer": "ASOS",
6 "store": "COM",
7 "currency": "GBP",
8 "sizeSchema": "UK"
9 },
10 "title": "adidas Originals Handball Spezial gum sole trainers in brown and white",
11 "brand": "adidas Originals",
12 "categories": ["Unisex", "Trainers"],
13 "price": { "current": 9000, "previous": 9000, "stockStatus": "InStock", "currency": "GBP" },
14 "variants": [
15 {
16 "id": "206675555",
17 "sku": "135912910",
18 "gtin": "4066765223623",
19 "options": ["205774481", "596146"],
20 "price": { "current": 9000, "previous": 9000, "stockStatus": "InStock" },
21 "extraInfo": { "brandSize": "UK 3", "colour": "MULTI" }
22 }
23 ],
24 "stats": {
25 "rating": 4.8,
26 "reviewCount": 4016,
27 "percentageRecommended": 98,
28 "lovesCount": 24983,
29 "reviewsSummary": "Customers overwhelmingly praise these trainers for exceptional comfort..."
30 }
31}
価格は最小通貨単位(ペンス、セント)の整数です。トップページ URL から得たカテゴリレコードは商品と同じデータセットに入り、source の代わりに handle と productsCount を持ちます。
料金
従量課金(ペイ・パー・イベント)——手元に残ったレコードにのみ課金されます。
| イベント | 料金 | 対象 |
|---|---|---|
| 商品 | $0.003 | 価格・サイズ別在庫・バリエーション・バーコード・画像・動画を含む商品 1 件。商品グループは1点ごとに計上 |
| カテゴリ | $0.001 | メニューパス・商品数・絞り込み項目を含むカテゴリ 1 件 |
| レビューと評価(追加) | $0.001 | 商品 1 件の評価統計、AIレビュー要約、最新レビュー |
| お気に入り数(追加) | $0.0005 | 商品 1 件の過去30日のお気に入り数 |
| 他のカラー(追加) | $0.0005 | 商品 1 件と同じスタイルの他のカラー(価格・在庫付き) |
追加項目は、ASOS にデータがあり対応するスイッチがオンのときだけ課金されます。
ヒント
- ストアのトップから始める。
https://www.asos.com/なら、カテゴリごとに1リクエストでカテゴリツリー全体が得られます。商品も必要なときだけwithCategoryProductsを有効に。 - 市場は URL で選ぶ。
/us/、/fr/、/de/などのストア接頭辞が、その配下すべての通貨・言語・サイズ表記を決めます。 - 不要な追加項目はオフに。 レビュー、お気に入り数、他のカラーは、それぞれ商品ごとに1リクエストと1回の課金が発生します。
- 大規模クロールにはレジデンシャルプロキシを——同一 IP は数千リクエストで制限されます。
よくある質問
ASOS の全カテゴリを取得できますか?
はい。https://www.asos.com/ や https://www.asos.com/us/ のようなストアのトップページ、または /women/ のような部門を渡すと、メニューのカテゴリごとに1レコード(英国ストアで540件)を、メニューパス・商品数・絞り込み項目付きで返します。withCategoryProducts を有効にすると、それらの全商品も各1回ずつ取得します。
どの通貨とサイズになりますか?
URL のストアで決まります。/us/ の URL は米ドル価格と米国サイズ、/fr/ はユーロ、接頭辞のない URL は英国ストアの英ポンドを返します。プロキシの国を選ぶ必要はありません。
サイズごとの在庫は取れますか?
はい。各バリエーションに固有の価格と在庫あり・残りわずか・在庫切れのステータスがあり、ASOS が公開していれば SKU と EAN コードも付きます。
プロキシは必要ですか?
小規模な実行なら不要です。ASOS は同一 IP を数千リクエスト後に制限するため、ストア全体やカテゴリ全体のクロールにはレジデンシャルプロキシを使ってください。