🎯 一款可定制、具备反检测功能的云浏览器,由自主研发的 Chromium驱动,专为网页爬虫AI 代理设计。👉立即试用
返回博客

亚马逊鲁弗斯抓取器:按ASIN提供产品相关答案

15-Jul-2026

TL;DR:

  • Amazon Rufus,亚马逊的应用内购物助手,通过Scrapeless Scraping API提供,作为scraper.amazon,类型为type: "rufus"
  • 它有两种模式: 发送keywords以获取类别回答,包括分组和排名的产品推荐——或者添加一个asin来询问有关特定商品的产品知晓问题。
  • /api/v1/scraper/request发送一个POST请求,返回合成的答案、分组的推荐、扁平化的products数组,以及Rufus建议的后续问题。
  • 产品知晓参数是asin 设置后,Rufus会针对该特定产品进行回答;如果没有该参数,问题将得到一个通用的“你在问哪个产品?”的回复。
  • 免费开始。 新的Scrapeless账户包含免费的Scraper API积分——请在app.scrapeless.com注册。

Amazon Rufus用简单的语言回答购物问题——“最佳噪音消除耳机”——现在它也可以回答关于特定产品的问题:“这个适合健身吗?”Scrapeless Scraping API将这两者都捕获为结构化JSON。本指南展示了请求、两种模式、响应格式以及使Rufus具有产品知晓能力的唯一参数——asin。以下每个请求和字段均来自抓取工具的实时运行。

使用Rufus爬虫可以做什么

  • 跟踪推荐分享 — 捕获Rufus在类别查询中命名的产品,分组部分以及顺序。
  • 大规模回答产品特定问题 — 传递一个ASIN和问题,查看Rufus如何描述一个产品的适用性、用例或比较。
  • 监控品牌或竞争对手 — 观察一个产品在Rufus的推荐中是否出现,以及它的表述方式,随时间推移的变化。
  • 向下游系统提供数据 — 将答案、分组推荐和后续问题作为干净的JSON传送到仪表板或警报中。

两种模式:类别和产品知晓

Rufus类型的行为取决于您是否包含asin

  • 类别模式(仅keywords)。 Rufus返回一个合成的推荐,包括将产品分组为标记部分的content_blocks,一个扁平化的products数组和一组related_questions。使用此模式可查看Rufus对查询的推荐。
  • 产品知晓模式(keywords + asin)。 Rufus将问题限定为特定产品,并直接回答。在实时运行中,询问“这适合健身和跑步吗?”并提供一对索尼WH-1000XM6耳机的ASIN会得到“No,索尼WH-1000XM6耳机不适合健身和跑步……”。去掉asin后,得到的同样问题将是一个通用的“你在问哪个产品?”的回复——ASIN才是使答案针对特定产品的关键。

端点和参数

Rufus类型在同步Scraping API端点上运行。使用您的令牌在x-api-token头中进行身份验证。

  • 端点: POST https://api.scrapeless.com/api/v1/scraper/request
  • Actor: scraper.amazon
输入字段 类型 必需 描述
type 字符串 设置为rufus
keywords 字符串 购物问题或查询。
domain 字符串 亚马逊商店的网址,例如www.amazon.com
asin 字符串 产品ASIN。当存在时,Rufus会对此特定产品进行回答。

结果将以synchronously的方式返回在result对象中。

经过身份验证的请求

类别模式(示例 - 替换令牌):

bash Copy
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": "rufus",
      "keywords": "最佳噪音消除耳机",
      "domain": "www.amazon.com"
    }
  }'

产品知晓模式添加asin

bash Copy
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": "rufus",
      "keywords": "这适合健身和跑步吗?",
      "domain": "www.amazon.com",
      "asin": "B0GN4CFF6H"
    }
  }'

Python集成

此示例从SCRAPELESS_API_KEY环境变量中读取令牌,并运行产品知晓的Rufus查询。仅使用Python标准库。

python Copy
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": "rufus",
        "keywords": "这适合健身和跑步吗?",

"域名": "www.amazon.com",
"asin": "B0GN4CFF6H",
},
}

请求 = 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(请求, timeout=180) as 响应:
数据 = json.loads(响应.read().decode("utf-8"))

结果 = 数据.get("result", {})
print("查询:", 结果.get("user_query"))
print("答案:", (结果.get("inference_text") or "")[:200])

Copy
## 你所获得的反馈

类别模式返回最丰富的有效载荷。下面的字段是你最常使用的;值是来自实时运行的示例,只做了长度裁剪。

```json
// 来自live scraper.amazon(类型rufus)运行的示例 - 字段名称是真实的,值已裁剪。
{
  "metadata": { "type": "rufus" },
  "result": {
    "user_query": "最佳噪音取消耳机",
    "inference_text": "这里有一些最佳的噪音取消耳机 ...",
    "content_blocks": [
      { "type": "text" },
      { "type": "product_section", "products": [{ "asin": "B0FDKR293G" }] }
    ],
    "products": [
      {
        "asin": "B0FDKR293G",
        "title": "Bose QuietComfort Ultra 蓝牙耳机(第二代)",
        "price": "$369.00",
        "original_price": "$449.00",
        "rating": "4.3",
        "reviews": "2,297",
        "category": "最佳综合ANC",
        "delivery": "免费配送,7月19日(周日)",
        "image_url": "<产品图像URL>",
        "url": "<亚马逊产品URL>"
      }
    ],
    "related_questions": [
      "最佳运动用ANC耳塞",
      "对比Sony XM5与Bose QC Ultra"
    ]
  }
}
字段 类型 描述
metadata.type 字符串 运行类型,例如 rufus
result.user_query 字符串 发送给Rufus的问题。
result.inference_text 字符串 Rufus的综合答案。
result.content_blocks 数组 有序的 textproduct_section 块(分组、排名推荐)。
result.products 数组 扁平化的产品列表:asintitlepriceoriginal_priceratingreviewscategorydeliveryimage_urlurl
result.related_questions 数组 Rufus建议的后续问题。

产品感知模式返回相同的封装,但 inference_text 中的答案仅限于您传入的ASIN,通常不包含 products 数组,因为Rufus是在回答单个项而不是推荐列表。

常见数据格式问题

  • asin 是产品感知开关 — 必须为 asin 传入 product_idproductId 会被静默忽略;只有 asin 将Rufus限制到特定产品。
  • 类别和产品感知响应不同。 类别查询返回 productscontent_blocks;产品感知查询返回特定产品的 inference_text,通常不返回 products 数组。根据您发送的内容进行分支。
  • 价格和评分为字符串。 priceoriginal_priceratingreviews 作为显示字符串返回("$369.00""2,297"),因此应解析它们,而不是直接转换。
  • content_blocks 携带分组。 扁平化的 products 数组失去了部分标签;当您需要知道Rufus将产品放在哪个部分时,请读取 content_blocks
  • 答案是每个查询的快照。 Rufus的响应反映了某一时刻的一个查询,而不是目录导出,因此要随时间捕捉以跟踪变化。

相关参与者和阅读资料

Rufus类型是亚马逊演员的一种模式。Scrapeless发布了一个开源的Rufus爬虫示例仓库,其中包含五种语言的可运行代码。关于助手的背景,亚马逊介绍了Rufus,它的生成购物助手,并在其零售新闻中心中介绍了更广泛的产品组合。有关另一种AI回答引擎,请参阅ChatGPT爬虫API指南

结论

Rufus爬虫将亚马逊的购物助手转变为结构化JSON,分为两种模式从一个端点发送:发送 keywords 进行分组、排名推荐,或添加 asin 以获取关于特定项目的产品感知答案。根据您发送的模式进行分支,解析显示字符串的价格和评级,并在需要分组时读取 content_blocks。这是跟踪Rufus如何推荐和描述产品的可靠来源。
准备好将Rufus的回答捕获为数据吗?从Scrapeless仪表板免费开始,查看该演员在抓取API产品页面中的适用性,或在Scrapeless定价上比较计划。

常见问题解答

问:Amazon Rufus抓取器是什么?
答:它是Scrapeless抓取API演员scraper.amazon,类型为type: "rufus",它向Amazon Rufus发送问题并以结构化JSON的形式返回答案——合成的答案、分组产品选择、扁平化的products数组和建议的后续问题。

问:我如何询问特定产品?
答:在input中添加asin字段。Rufus随后将回答关于该具体产品的问题。没有asin时,同样的问题将返回一个通用的“哪个产品?”的回复。

问:它使用哪个端点和参数?
答:POST https://api.scrapeless.com/api/v1/scraper/request,其中actor设置为scraper.amazoninput对象包含type: "rufus"keywordsdomain,以及可选的asin。用您的令牌在x-api-token中进行身份验证。

问:product_id可以代替asin使用吗?
答:不可以。只有asin能将Rufus限制为特定产品;product_idproductId会被忽略。

问:我如何获取产品被分组的部分?
答:阅读content_blocks。扁平化的products数组删除了部分标签,而content_blocks保留了Rufus使用的product_section分组。

问:响应是同步的吗?
答:是的。result对象在同一响应中返回;您不需要轮询一个单独的端点。

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录