亚马逊搜索抓取API:以JSON格式提供自然和赞助结果
Scraping and Proxy Management Expert
TL;DR:
- Amazon搜索抓取器是
scraper.amazonactor,type: "keywords"—它将搜索词转换为Amazon的排名结果,以JSON格式返回。 - 一次经过身份验证的
POST请求到/api/v1/scraper/request返回有机和赞助产品列表,每个列表包含位置、ASIN、标题、价格、评分和评论数量。 - 有机和付费结果是分开的,因此您可以跟踪某个产品的排名以及哪些竞争对手在其上方购买了赞助位置。
- 价格和评分以显示字符串形式返回(
"$24.98","4.9 out of 5 stars"),因此请解析这些字符串,而不是直接转换。 - 免费开始。 新的Scrapeless账户包括免费Scraper API积分 - 注册请访问app.scrapeless.com。
Amazon搜索是产品发现的地方,结果页面的顺序决定了哪些产品被看到——这就是为什么亚马逊卖家 密切关注他们的关键词排名。Scrapeless 抓取API 将关键词的结果页面捕获为结构化数据:有机排名、赞助位置,以及每个列表的ASIN、价格和评分。本指南展示了请求、响应格式以及需要注意的字段。以下每个请求和字段都是从该actor的实时运行中捕获的。
您可以使用Amazon搜索抓取器做什么
这个actor接收一个关键词并返回Amazon的排名结果作为JSON。实际上,这让您可以:
- 跟踪关键词排名 — 捕获您的产品在指定搜索词下的有机位置,并观察其随时间的变化。
- 监控赞助层 — 查看哪些ASIN在您关键词的有机结果上方购买了付费位置。
- 映射类别竞争 — 获取搜索的完整第一页ASIN、价格和评分,并进行比较。
- 为定价和品类模型提供数据 — 将结构化结果导入仪表板或警报,而无需解析HTML。
为什么选择Scrapeless Amazon Actor
亚马逊的搜索结果页面高度渲染并且具有防爬虫保护,其HTML不断变化。Scrapeless actor执行搜索并返回一个干净、开发者友好的封装,因此您的代码读取字段而不是维护选择器、旋转基础设施或处理阻塞。相同的scraper.amazon actor也可以通过改变type来覆盖产品详情和Rufus助手。
端点和参数
该actor运行在同步抓取API端点上。您需要在x-api-token头中附上您的令牌进行身份验证。
- 端点:
POST https://api.scrapeless.com/api/v1/scraper/request - Actor:
scraper.amazon
| 输入字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
type |
字符串 | 是 | 设置为keywords以进行搜索。 |
keywords |
字符串 | 是 | 搜索词。 |
domain |
字符串 | 是 | 亚马逊商城,例如www.amazon.com。 |
结果将在result对象中同步返回;您无需轮询。
身份验证请求
一个最小的请求看起来像这样(仅用于说明 - 替换令牌):
bash
curl 'https://api.scrapeless.com/api/v1/scraper/request' \
--header 'Content-Type: application/json' \
--header 'x-api-token: YOUR_API_TOKEN' \
--data '{
"actor": "scraper.amazon",
"input": {
"type": "keywords",
"keywords": "无线耳机",
"domain": "www.amazon.com"
}
}'
Python集成
这个示例从SCRAPELESS_API_KEY环境变量中读取令牌,执行搜索并打印有机和赞助结果。它仅使用Python标准库。
python
import json
import os
import urllib.request
API_URL = "https://api.scrapeless.com/api/v1/scraper/request"
API_TOKEN = os.environ["SCRAPELESS_API_KEY"]
payload = {
"actor": "scraper.amazon",
"input": {
"type": "keywords",
"keywords": "无线耳机",
"domain": "www.amazon.com",
},
}
request = urllib.request.Request(
API_URL,
data=json.dumps(payload).encode("utf-8"),
headers={"Content-Type": "application/json", "x-api-token": API_TOKEN},
method="POST",
)
with urllib.request.urlopen(request, timeout=180) as response:
data = json.loads(response.read().decode("utf-8"))
result = data.get("result", {})
listings = result.get("result", {})
organic = listings.get("organic") or []
paid = listings.get("paid") or []
print("关键词:", result.get("keyword"))
print("有机结果数量:", len(organic))
print("付费结果数量:", len(paid))
for item in organic[:5]:
print(f" #{item.get('pos')} {item.get('asin')} {item.get('price')} {item.get('rating')}")
print(" ", (item.get("title") or "")[:70])
您将收到的返回结果
问:什么是亚马逊搜索抓取器?
A: 它是 Scrapeless Scraping API 的演员 scraper.amazon,其 type: "keywords",它向 Amazon 发送搜索词并返回排名结果为 JSON 格式——包括位置、有机和赞助列表、ASIN、标题、价格、评级和评论数量。
问:它使用哪个端点和参数?
答:POST https://api.scrapeless.com/api/v1/scraper/request,其中 actor 设置为 scraper.amazon,并且 input 对象包含 type: "keywords"、keywords 和 domain。用您的令牌在 x-api-token 中进行身份验证。
问:我如何区分有机结果和赞助结果?
答:响应返回两个数组,result.organic 和 result.paid,每个列表还带有一个 is_sponsored 标记,因此您可以将优质排名与付费位置分开。
问:价格和评分是数字吗?
答:不是,它们是显示字符串——price 类似于 "$24.98",rating 类似于 "4.9 out of 5 stars"。使用小解析器提取数字,而不是强制转换字段。
问:响应是同步的吗?
答:是的。result 对象在同一响应中返回;您不需要轮询单独的端点。
问:同一演员可以抓取产品或 Rufus 助手吗?
答:可以。将 type 更改为 product 以获取完整的 ASIN 记录,或更改为 rufus 以获取 Amazon 的购物助手——端点和身份验证保持不变。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。



