~/ecommerce/asos-scraper
ASOS 爬虫——价格、各尺码库存、评价与分类
抓取 ASOS 12 个站点的商品与分类:含建议零售价与 30 天最低价的价格、每个尺码的库存、EAN 条码、颜色与尺码变体、图片与 T 台视频、评分、评价与收藏数。
时尚
TypeScriptCrawlee
英国美国法国德国西班牙意大利荷兰波兰瑞典丹麦澳大利亚俄罗斯
分类ecommerce / 时尚
语言TypeScript
技术栈TypeScript, Crawlee
市场英国, 美国, 法国, 德国, 西班牙, 意大利, 荷兰, 波兰, 瑞典, 丹麦, 澳大利亚, 俄罗斯
输出干净、RAG 就绪的 JSON
核心特性
只需站点首页 URL 即可拿到全部菜单分类,含商品数量与筛选维度
每个变体都有各尺码库存、SKU 与 EAN 条码
价格含原价、建议零售价、30 天最低价与降价标记
12 个站点,各自使用本地币种、语言与尺码体系
评分分布、尺码/质量/舒适度均分、AI 评价摘要与最新评价
模特图、平铺图、色卡与 T 台视频,并关联到对应颜色
收藏数,以及同款的其他颜色
应用场景
- 跨市场的服装价格监控与降价追踪
- 尺码级库存与售罄分析
- 面向竞争情报的品类与货架结构梳理
- 为商品与尺码团队提供评价与合身度分析
- 基于实时数据的商品目录与导购 Agent
- 用 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 产生的分类记录与商品在同一个数据集中:分类记录带有 handle 与 productsCount,而不是 source。
定价
按事件计费——只为你保留下来的记录付费:
| 事件 | 价格 | 计费内容 |
|---|---|---|
| 商品 | $0.003 | 一个商品,含价格、各尺码库存、变体、条码、图片与视频;商品组按件计 |
| 分类 | $0.001 | 一个分类,含菜单路径、商品数量与筛选维度 |
| 评价与评分(附加) | $0.001 | 一个商品的评分统计、AI 评价摘要与最新评价 |
| 收藏数(附加) | $0.0005 | 一个商品近 30 天的收藏数 |
| 其他颜色(附加) | $0.0005 | 一个商品同款的其他颜色,含价格与库存 |
附加项只在 ASOS 有该数据且对应开关打开时计费。
使用建议
- 从站点首页开始。
https://www.asos.com/每个分类只需一次请求就能返回完整分类树;只有需要商品时才开启withCategoryProducts。 - 用 URL 选择市场。
/us/、/fr/、/de/等站点前缀决定其下所有数据的币种、语言与尺码体系。 - 关掉用不到的附加项。 评价、收藏数与其他颜色,每项都会让每个商品多一次请求和一次计费。
- 大规模抓取请用住宅代理——同一 IP 在数千次请求后会被限流。
常见问题
能抓取 ASOS 的全部分类吗?
可以。传入站点首页(如 https://www.asos.com/ 或 https://www.asos.com/us/)或频道(如 /women/),即可为每个菜单分类返回一条记录——英国站共 540 个——包含菜单路径、商品数量与筛选维度。开启 withCategoryProducts 还会抓取这些分类下的所有商品,每个商品只抓一次。
返回哪种币种和尺码?
由 URL 中的站点决定:/us/ 返回美元价格与美国尺码,/fr/ 返回欧元,不带前缀的 URL 返回英国站英镑价格。不需要为此选择代理国家。
能拿到每个尺码的库存吗?
可以。每个变体都有自己的价格与有货、库存紧张或缺货状态,并在 ASOS 提供时附带 SKU 与 EAN 条码。
需要代理吗?
小规模运行不需要。同一 IP 在数千次请求后会被 ASOS 限流,因此整站或整个分类的抓取请使用住宅代理。