抓取 Kohl's 的价格、促销阶梯和门店库存
从 kohls.com 获取原价、促销价、适用的促销活动、Kohl's Cash 资格,以及按 ZIP 划分的自提可用性。无需浏览器。
成功率 99.0% · Aug 2026无需浏览器复杂价格 · 2 积分
基于 Crawlbase 测得
August 2026 成功率 99.0%。Kohl's 属于复杂等级:它会对普通抓取发起验证,Crawlbase 替你通过,这就是为什么每页消耗两个积分,而你这边仍然无需浏览器。1.3% 的成功调用使用了 JavaScript 令牌。
调用
# Product page, rendered HTML curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=US&url=https%3A%2F%2Fwww.kohls.com%2Fproduct%2Fprd-6248533%2Fsonoma-goods-for-life-mens-supersoft-crewneck-tee.jsp" # Same page, stock for the store nearest a ZIP curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=US&cookies=zipCode%3D60601&url=https%3A%2F%2Fwww.kohls.com%2Fproduct%2Fprd-6248533%2Fsonoma-goods-for-life-mens-supersoft-crewneck-tee.jsp"
from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_TOKEN'}) r = api.get('https://www.kohls.com/product/prd-6248533/sonoma-goods-for-life-mens-supersoft-crewneck-tee.jsp', {'country': 'US', 'cookies': 'zipCode=60601'}) html = r['body'] # prices live in the productV2JsonData script tag
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_TOKEN' }); const r = await api.get('https://www.kohls.com/product/prd-6248533/sonoma-goods-for-life-mens-supersoft-crewneck-tee.jsp', { country: 'US', cookies: 'zipCode=60601' }); const state = JSON.parse(r.body.match(/productV2JsonData\s*=\s*(\{.*?\});/s)[1]);
关键参数
| 参数 | 设置为 | 原因 |
|---|---|---|
country | US | Kohl's 会对非美国出口返回拦截页面。每次调用都要设置。 |
javascript | 保持未设置 | 价格、促销阶梯和促销文案都在 HTML 内的一段 JSON 中。测量月份里几乎每一次成功调用都没有使用浏览器。 |
cookies | zipCode=<zip> | 设置用于自提可用性的门店。不设置则得到全国默认值,那不是真正的库存答案。 |
autoparse | 暂无 | 没有专用抓取器。嵌入的 JSON 很稳定,下面的字段可直接从中映射。 |
你能得到的字段,来自嵌入的 JSON
productTitle
stringwebID
stringprice.regularPrice
numberprice.salePrice
number | nullprice.promoText
stringkohlsCashEligible
booleanSKUS[].size
stringSKUS[].availability
stringstoreAvailability
objectreviews.averageRating
number会出问题的地方及修复方法
类目页按
WS= 分页,而不是按页码。 偏移量是已看过的商品数,以 48 为步长。错误的步长会再次返回第一页,你会误以为该类目只有 48 件商品。促销价随日期变化。 Kohl's 的促销活动在美国中部时间午夜切换。如果你跨越日期边界比较价格,会看到虚假的变动;请给每一行打上抓取时间戳。
你这边无需处理任何事。 Kohl's 摆在普通客户端面前的验证由 Crawlbase 内部处理;这就是等级为复杂的原因,也是你不需要浏览器的原因。
定时运行
对 50,000 件商品做每日价格监控,按每页两个积分计算,每天需要 100,000 积分。使用 Crawler 平滑突发请求;按门店追踪库存时,每个任务把 ZIP 作为 cookie 传入。
常见问题
为什么一个 Kohl's 页面要消耗两个积分?
Kohl's 属于复杂等级。Crawlbase 替你通过其机器人验证;价格反映了这部分工作,而且仍然无需浏览器。
我能获取门店库存吗?
可以。传入 cookies=zipCode=<zip>,然后从嵌入的 JSON 中读取 storeAvailability。
站点名称用于标识配方抓取的页面。Crawlbase 与所列任何站点均无关联。请在以下范围内使用配方: 可接受使用政策.数据测自 August 2026,每月更新