Cookbook·电商·kohls.com

抓取 Kohl's 的价格、促销阶梯和门店库存

从 kohls.com 获取原价、促销价、适用的促销活动、Kohl's Cash 资格,以及按 ZIP 划分的自提可用性。无需浏览器。

成功率 99.0% · Aug 2026无需浏览器复杂价格 · 2 积分

基于 Crawlbase 测得

August 2026 成功率 99.0%。Kohl's 属于复杂等级:它会对普通抓取发起验证,Crawlbase 替你通过,这就是为什么每页消耗两个积分,而你这边仍然无需浏览器。1.3% 的成功调用使用了 JavaScript 令牌。

调用

在 Playground 中运行
# 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"

关键参数

参数设置为原因
countryUSKohl's 会对非美国出口返回拦截页面。每次调用都要设置。
javascript保持未设置价格、促销阶梯和促销文案都在 HTML 内的一段 JSON 中。测量月份里几乎每一次成功调用都没有使用浏览器。
cookieszipCode=<zip>设置用于自提可用性的门店。不设置则得到全国默认值,那不是真正的库存答案。
autoparse暂无没有专用抓取器。嵌入的 JSON 很稳定,下面的字段可直接从中映射。

你能得到的字段,来自嵌入的 JSON

productTitlestring
webIDstring
price.regularPricenumber
price.salePricenumber | null
price.promoTextstring
kohlsCashEligibleboolean
SKUS[].sizestring
SKUS[].availabilitystring
storeAvailabilityobject
reviews.averageRatingnumber

会出问题的地方及修复方法

类目页按 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,每月更新