アマゾンルーファス スクレイパー: ASINによる製品情報回答
TL;DR:
- Amazon Rufus、Amazonのアプリ内ショッピングアシスタントは、Scrapeless Scraping APIを介して
scraper.amazonとして利用可能で、type: "rufus"として指定されます。 - 2つのモードで動作します: カテゴリー回答には
keywordsを送信し、グループ化されたランク付けされた製品の選択肢を得ることができます。あるいは、特定のアイテムに関する製品認識質問をするためにasinを追加します。 - **
/api/v1/scraper/requestへの1回のPOST**は、合成された回答、グループ化された選択肢、平坦化されたproducts配列、Rufusの提案するフォローアップ質問を返します。 - 製品認識パラメータは
asinです。 これが設定されると、Rufusはその特定の製品に関して回答します。設定されないと、同じ質問は一般的な「どの製品ですか?」という返信になります。 - 無料で始めましょう。 新しいScrapelessアカウントには無料のScraper APIクレジットが含まれています — app.scrapeless.comでサインアップしてください。
Amazon Rufusは、明確な言語でショッピング質問に答えます — 「最高のノイズキャンセリングヘッドフォン」 — そして、特定の製品に関する質問にも答えることができるようになりました: 「これはジムに適していますか?」 ScrapelessのScraping APIは、両方を構造化されたJSONとして取得します。このガイドは、リクエスト、2つのモード、レスポンスの形、およびRufusを製品認識させる1つのパラメータ — asin — を示します。以下の全リクエストとフィールドは、実行されたアクターからキャプチャされました。
Rufusスクリーパーを使ってできること
- 推奨のシェアを追跡する — Rufusがカテゴリクエリのために名付けた製品、グループされたセクション、順番をキャプチャします。
- スケールで製品特定の質問に答える — ASINと質問を渡して、Rufusが特定の製品についてフィット、使用ケース、または比較についてどのように説明するかを確認します。
- ブランドや競合を監視する — Rufusの推奨に製品が表示されるかどうかと、それがどのようにフレーミングされているかを時間経過と共に監視します。
- 下流システムにデータを供給する — 回答、グループ化された選択肢、およびフォローアップ質問をダッシュボードやアラートにクリーンなJSONとしてパイプします。
2つのモード:カテゴリと製品認識
Rufusタイプは、asinを含めるかどうかによって異なる動作をします:
- カテゴリモード (
keywordsのみ) Rufusは合成された推奨、製品をラベル付きセクションにグループ化したcontent_blocks、平坦化されたproducts配列、そして一連のrelated_questionsを返します。これを使ってRufusがクエリに対して推奨するものを確認します。 - 製品認識モード (
keywords+asin) Rufusはその特定の製品に質問の範囲を狭め、直接その製品に関して回答します。実行中、「これはジムやランニングに適していますか?」とSony WH-1000XM6ヘッドフォンのASINを尋ねると、「いいえ、Sony WH-1000XM6ヘッドフォンはジムやランニングには理想的ではありません…」と返答しました。asinを外すと、同じ質問には一般的な「どの製品について尋ねていますか?」という返答が返ってきます — ASINが回答を製品特有にします。
エンドポイントとパラメータ
Rufusタイプは同期Scraping APIエンドポイントで動作します。x-api-tokenヘッダーでトークンを使って認証します。
- エンドポイント:
POST https://api.scrapeless.com/api/v1/scraper/request - アクター:
scraper.amazon
| 入力フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
type |
文字列 | はい | rufusに設定します。 |
keywords |
文字列 | はい | ショッピング質問またはクエリ。 |
domain |
文字列 | はい | Amazonのストアフロント、例:www.amazon.com。 |
asin |
文字列 | いいえ | 製品ASIN。存在する場合、Rufusはその特定の製品に関して回答します。 |
結果は同期的に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": "rufus",
"keywords": "最高のノイズキャンセリングヘッドフォン",
"domain": "www.amazon.com"
}
}'
製品認識モードはasinを追加します:
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": "rufus",
"keywords": "これはジムやランニングに適していますか?",
"domain": "www.amazon.com",
"asin": "B0GN4CFF6H"
}
}'
Python統合
この例では、SCRAPELESS_API_KEY環境変数からトークンを読み取り、製品認識Rufusクエリを実行します。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": "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(request, timeout=180) as response:
data = json.loads(response.read().decode("utf-8"))
結果 = data.get("result", {})
print("クエリ:", result.get("user_query"))
print("回答:", (result.get("inference_text") or "")[:200])
## 受け取るもの
カテゴリー モードは、最も豊富なペイロードを返します。以下のフィールドは、最もよく使用するものです。値は、実行時の一例で、長さのために切り取られています。
```json
// 実行時のサンプル(scraper.amazonから) — フィールド名は実際のもので、値は切り取られています。
{
"メタデータ": { "タイプ": "rufus" },
"結果": {
"ユーザークエリ": "最高のノイズキャンセリングヘッドフォン",
"推論テキスト": "こちらが最高のノイズキャンセリングヘッドフォンのいくつかです...",
"コンテンツブロック": [
{ "タイプ": "テキスト" },
{ "タイプ": "製品セクション", "製品": [{ "asin": "B0FDKR293G" }] }
],
"製品": [
{
"asin": "B0FDKR293G",
"タイトル": "Bose QuietComfort Ultra Bluetooth ヘッドフォン (第2世代)",
"価格": "$369.00",
"通常価格": "$449.00",
"評価": "4.3",
"レビュー": "2,297",
"カテゴリ": "最優秀 ANC",
"配達": "無料配送 7月19日(日)",
"画像URL": "<製品画像URL>",
"url": "<amazon製品URL>"
}
],
"関連質問": [
"ワークアウト用のベスト ANC イヤフォン",
"Sony XM5 vs Bose QC Ultraの比較"
]
}
}
| フィールド | タイプ | 説明 |
|---|---|---|
metadata.type |
文字列 | 実行タイプ、例: rufus。 |
result.user_query |
文字列 | Rufusに送信した質問。 |
result.inference_text |
文字列 | Rufusの合成された回答。 |
result.content_blocks |
配列 | 順序付けられた text と product_section ブロック(グループ化された、ランク付けされた選択)。 |
result.products |
配列 | フラットな製品リスト: asin, title, price, original_price, rating, reviews, category, delivery, image_url, url. |
result.related_questions |
配列 | Rufusが提案するフォローアップ質問。 |
製品認識モードは同じ封筒を返しますが、推論テキスト での答えは送信したASINにスコープされ、通常は 製品 配列が欠落しています。
一般的なデータ形式の問題
asinが製品認識スイッチです —asinである必要があります。product_idまたはproductIdを渡しても静かに無視されます。asinだけが特定の製品にスコープされます。- カテゴリーと製品認識の応答は異なります。 カテゴリクエリは
製品とコンテンツブロックを返します。製品認識クエリは製品特有の推論テキストを返し、通常は製品配列がありません。どちらのクエリを送信したかで分岐します。 - 価格と評価は文字列です。
price,original_price,rating,reviewsは表示用の文字列として返されます("$369.00","2,297")、直接キャストするのではなく解析してください。 content_blocksがグループ化を持ちます。 フラットなproducts配列はセクションラベルを失います。Rufusがどのセクションに製品を配置したかを知る必要がある場合はcontent_blocksを参照してください。- 回答はクエリごとのスナップショットです。 Rufusの応答は、1つのクエリの1つの瞬間を反映しており、カタログのエクスポートではないため、時間をかけてキャプチャして変化を追跡します。
コンパニオン アクターと関連文献
RufusタイプはAmazonアクターの1つのモードです。Scrapelessは、5つの言語で実行可能なコードを含むオープンソースのRufusスクレイパー例リポジトリを公開しています。アシスタントの背景については、Amazonが生成的ショッピングアシスタントRufusを紹介し、より広いラインアップを小売りニュースルームでカバーしています。別のAI回答エンジンについては、ChatGPTスクレイパーAPIガイドを参照してください。
結論
Rufusスクレイパーは、Amazonのショッピングアシスタントを構造化されたJSONに変換し、1つのエンドポイントから2つのモードを提供します。keywords を送信するとグループ化されたランク付けされた推薦が得られ、asin を追加すると、特定のアイテムに関する製品認識の回答が得られます。送信したモードによって分岐し、表示文字列の価格と評価を解析し、グループ化が必要な場合は content_blocks を読むことをお勧めします。Rufusが製品をどのように推奨し、説明するかを追跡するための信頼できるフィードとなります。
準備ができたら、Rufusの回答をデータとしてキャプチャしますか?Scrapelessダッシュボードから無料で始めて、俳優がSraping API製品ページでどこにはまるかをご覧ください。または、Scrapeless料金プランでプランを比較してください。
よくある質問
Q: Amazon Rufusスクレイパーとは何ですか?
A: それは、質問をAmazon Rufusに送信し、構造化されたJSONとして回答を返すScrapeless Scraping APIのアクターscraper.amazonで、type: "rufus"です。合成された回答、グループ化された製品の選択、フラット化されたproducts配列、推奨されるフォローアップ質問が含まれています。
Q: 特定の製品についてどう尋ねればよいですか?
A: inputにasinフィールドを追加します。そうすると、Rufusはその正確な製品について回答します。asinなしでは、同じ質問に対して一般的な「どの製品?」という返事が返ります。
Q: どのエンドポイントとパラメーターを使用しますか?
A: POST https://api.scrapeless.com/api/v1/scraper/requestにactorをscraper.amazonに設定し、inputオブジェクトにtype: "rufus"、keywords、domainを含め、オプションとしてasinも含めます。x-api-tokenにトークンを使用して認証します。
Q: product_idはasinの代わりに機能しますか?
A: いいえ。asinだけがRufusを特定の製品にスコープします;product_idとproductIdは無視されます。
Q: 製品がどのセクションにグループ化されていたかを知るにはどうすればよいですか?
A: content_blocksを読んでください。フラット化されたproducts配列はセクションラベルを削除しますが、content_blocksはRufusが使用したproduct_sectionのグループ化を保持します。
Q: 応答は同期的ですか?
A: はい。resultオブジェクトは同じ応答で返されます;別のエンドポイントをポーリングする必要はありません。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



