以下内容基于 2025 年最新公开文档与社区逆向方案,给你一份 “能用、能落地” 的 Walmart 商品详情 API(item_get_desc 维度)实战指南,涵盖官方通道、第三方逆向、代码示例与合规红线,帮你 5 分钟拿到沃尔玛完整的图文描述、价格、库存与变种信息。
一、Walmart 官方到底有没有 “item_get_desc”?
- 因此所谓“Walmart item_get_desc”实际指两种非官方方案:
- 第三方聚合数据商(ZenRows、SearchApi、ScrapeHero 等)已把沃尔玛前端 JSON+HTML 清洗好,通过 REST 方式直接返回结构化字段,最快 30 分钟可集成。
- 自研逆向,抓包
https://www.walmart.com/ip/{sku}的私有接口,自己解压 gzip、提取描述 HTML,适合海量高并发需求。
二、方案 1:第三方 REST(推荐 95% 团队)
1. 终点速览
| 厂商 | 核心终点 | 单价 | 是否含 desc HTML | 是否含变种图 |
|---|---|---|---|---|
| ZenRows | ecommerce.api.zenrows.com/v1/targets/walmart/products/{sku} | 1 积分/次 | ✅ 长描述 | ✅ |
| SearchApi | www.searchapi.io/api/v1/searches | 5 积分/次 | ✅ 长短描述 | ✅ |
| ScrapeHero | get.scrapehero.com/wmt/product-details/ | 10 积分/次 | ✅ 详情文本 | ✅ |
积分成本按“返回字段量”计价,长描述(long_description)即 item_get_desc 等价字段。
2. 代码模板(ZenRows 为例)
Python
import requests, json
API_KEY = "YOUR_ZENROWS_API_KEY"SKU = "5074872077" # 8~20 位沃尔玛数字 IDurl = f"https://ecommerce.api.zenrows.com/v1/targets/walmart/products/{SKU}?apikey={API_KEY}"data = requests.get(url, timeout=15).json()# 等价于 item_get_desclong_desc = data["product"]["about"]["long_description"]short_desc = data["product"]["about"]["short_description"]print("长描述:", long_desc[:300], "……")print("短描述:", short_desc)- TTFB < 700 ms;返回即 UTF-8,无需自己解 gzip。
- 自带价格、库存、阶梯价、变种图、review 摘要,一次性解决 90% 场景。
三、方案 2:自研逆向(适合日采 100 k 以上)
1. 接口定位
PC 端商品页会并行请求:
POST https://www.walmart.com/api/restful/ich/v2/page/product
- Request Payload →
{"itemId": "14601806068"} - Response → 内含字段
productDescription→ 即 item_get_desc 的 HTML 片段,gzip 压缩 + unicode escape。
2. 核心代码(Python)
Python
import requests, gzip, json, html
headers = {
"content-type": "application/json",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"accept-encoding": "gzip, deflate, br",}payload = {"itemId": "14601806068"} # 改为实时 SKUurl = "https://www.walmart.com/api/restful/ich/v2/page/product"r = requests.post(url, json=payload, headers=headers)r.raise_for_status()blob = r.json()["productDescription"]["description"]# 1. unicode 解码 2. gzip 解压html_desc = html.unescape(blob)html_desc = gzip.decompress(html_desc.encode("latin1")).decode("utf-8")with open("walmart_desc.html", "w", encoding="utf-8") as f:
f.write(html_desc)print("描述已写入,共 %.1f KB" % (len(html_desc)/1024))- 单请求 300~600 ms,返回 5~150 KB 富文本,含原图、表格、视频封面。
- 需要自行维护 IP 池、Cookie
vTC5p、JSESSIONID,否则 10 次即 403。
四、字段对照:快速定位“描述”以外常用值
| 字段 | 官方 JSON 路径 | 说明 |
|---|---|---|
| 标题 | data.product.title | 128 位以内 |
| 原价/售价 | data.product.price / list_price | 若无折扣两者相同 |
| 库存状态 | data.product.availability_status | IN_STOCK / OUT_OF_STOCK |
| 阶梯变种 | data.product.variants[] | 颜色、尺码、价格、子 SKU |
| 主图数组 | data.product.images[*].url | 最高 1200×1200 |
| 评分&评论数 | data.product.rating / reviews | 4.2 ★ / 264 条 |
五、合规红线
- robots.txt:沃尔玛禁止高频抓取
/api/与/ip/路径,务必控制单 IP 频率 ≤30 req/min。 - 数据用途:仅限内部比价、选品分析,不得转售或公开展示;引用图片请二次上传至自有 CDN,防止盗链。
- 代理实名:使用 AWS/阿里云弹性 IP,出现 429 时自动熔断 + 退避 5 min。
六、一句话总结
目前想拿到 Walmart 商品详情 + 图文描述 最稳路径就是“第三方 REST”—— 2 个调用积分即可换回包含 long_description 的全量字段,30 分钟可上线;只有日采百万级场景才值得自研逆向,记得加上 IP 池、Cookie 轮换与限速,便可把沃尔玛当成“免费”商品库持续开采。