卖家
抓取 Amazon 卖家页面,获取评分、反馈、资料等,支持 JS 渲染、地理定位和代码示例。
该 amazon_sellers 数据源旨在检索 Amazon 卖家页面。
请求示例
在下面的代码示例中,我们发出请求以检索卖家 ID 的卖家页面 A2MUQS6AX5GGR 在 amazon.de 市场。
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
"source": "amazon_sellers",
"domain": "de",
"query": "A2MUQS6AX5GGR",
"parse": true
}'import requests
from pprint import pprint
# 构建负载(payload)。
payload = {
'source': 'amazon_sellers',
'domain': 'de',
'query': 'A2MUQS6AX5GGR',
'parse': True
}
# 获取响应。
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('USERNAME', 'PASSWORD'),
json=payload,
)
# 将美化后的响应打印到标准输出。
pprint(response.json())const https = require("https");
const username = "USERNAME";
const password = "PASSWORD";
const body = {
source: "amazon_sellers",
domain: "de",
query: "A2MUQS6AX5GGR",
parse: true,
};
const options = {
hostname: "realtime.oxylabs.io",
path: "/v1/queries",
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization:
"Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
},
};
const request = https.request(options, (response) => {
let data = "";
response.on("data", (chunk) => {
data += chunk;
});
response.on("end", () => {
const responseData = JSON.parse(data);
console.log(JSON.stringify(responseData, null, 2));
});
});
request.on("error", (error) => {
console.error("Error:", error);
});
request.write(JSON.stringify(body));
request.end();https://realtime.oxylabs.io/v1/queries?source=amazon_sellers&domain=de&query=A2MUQS6AX5GGR&parse=true&access_token=12345abcde<?php
$params = array(
'source' => 'amazon_sellers',
'domain' => 'de',
'query' => 'A2MUQS6AX5GGR',
'parse' => true
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
const Username = "USERNAME"
const Password = "PASSWORD"
payload := map[string]interface{}{
"source": "amazon_sellers",
"domain": "de",
"query": "A2MUQS6AX5GGR",
"parse": true,
}
jsonValue, _ := json.Marshal(payload)
client := &http.Client{}
request, _ := http.NewRequest("POST",
"https://realtime.oxylabs.io/v1/queries",
bytes.NewBuffer(jsonValue),
)
request.SetBasicAuth(Username, Password)
response, _ := client.Do(request)
responseText, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(responseText))
}
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace OxyApi
{
class Program
{
static async Task Main()
{
const string Username = "USERNAME";
const string Password = "PASSWORD";
var parameters = new {
source = "amazon_sellers",
domain = "de",
query = "A2MUQS6AX5GGR",
parse = true
};
var client = new HttpClient();
Uri baseUri = new Uri("https://realtime.oxylabs.io");
client.BaseAddress = baseUri;
var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
requestMessage.Content = JsonContent.Create(parameters);
var authenticationString = $"{Username}:{Password}";
var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.UTF8.GetBytes(authenticationString));
requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);
var response = await client.SendAsync(requestMessage);
var contents = await response.Content.ReadAsStringAsync();
Console.WriteLine(contents);
}
}
}package org.example;
import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;
public class Main implements Runnable {
private static final String AUTHORIZATION_HEADER = "Authorization";
public static final String USERNAME = "USERNAME";
public static final String PASSWORD = "PASSWORD";
public void run() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("source", "amazon_sellers");
jsonObject.put("domain", "de");
jsonObject.put("query", "A2MUQS6AX5GGR");
jsonObject.put("parse", true);
Authenticator authenticator = (route, response) -> {
String credential = Credentials.basic(USERNAME, PASSWORD);
return response
.request()
.newBuilder()
.header(AUTHORIZATION_HEADER, credential)
.build();
};
var client = new OkHttpClient.Builder()
.authenticator(authenticator)
.readTimeout(180, TimeUnit.SECONDS)
.build();
var mediaType = MediaType.parse("application/json; charset=utf-8");
var body = RequestBody.create(jsonObject.toString(), mediaType);
var request = new Request.Builder()
.url("https://realtime.oxylabs.io/v1/queries")
.post(body)
.build();
try (var response = client.newCall(request).execute()) {
if (response.body() != null) {
try (var responseBody = response.body()) {
System.out.println(responseBody.string());
}
}
} catch (Exception exception) {
System.out.println("Error: " + exception.getMessage());
}
System.exit(0);
}
public static void main(String[] args) {
new Thread(new Main()).start();
}
}{
"source": "amazon_sellers",
"domain": "de",
"query": "A2MUQS6AX5GGR",
"parse": true
}在我们的示例中,我们使用同步的 Realtime 集成方法。如果您想使用 Proxy Endpoint 或异步的 Push-Pull 集成,请参阅 集成方法 部分。
请求参数值
通用
用于抓取 Amazon 卖家页面的基本设置与自定义选项。
- 必填参数
本地化
将结果适配到特定的地理位置、域名和语言。
重要说明: 在大多数页面类型上,Amazon 会根据客户的收货地址定制返回结果。因此,我们建议使用 geo_location 参数来设置您偏好的收货位置。您可以阅读更多关于在 Amazon 上使用 geo_location 的内容 此处.
结构化数据
下面您可以找到一个 结构化输出示例 用于 amazon_sellers。请注意,目前我们仅支持对 desktop 设备类型 的解析输出。然而,没有明显理由使用其他设备类型来获取卖家页面,因为卖家数据在所有设备上将完全相同。
输出数据字典
HTML 示例
JSON 结构
该 amazon_sellers 结构化输出包含诸如 URL, query, rating等字段。下面的表格列出了我们解析的每个字段的详细清单,以及其描述和数据类型。表格还包含一些元数据。
url
Amazon 卖家页面的 URL。
字符串
query
用作原始搜索词的 13 个字符卖家 ID。
字符串
rating
卖家的评分。
整数
page_type
Amazon 页面类型。
字符串
description
关于卖家的简短描述。
字符串
seller_name
卖家名称。
字符串
business_name
企业名称。
字符串
recent_feedback
包含最近反馈项及其相应详情的列表。
数组
business_address
企业地址。
字符串
feedback_summary_data
关于卖家评级的可用详细信息列表。
对象
created_at
抓取任务创建的时间戳。
时间戳
updated_at
抓取任务完成的时间戳。
时间戳
job_id
与抓取任务关联的作业 ID。
整数
parser_type
用于解析数据的解析器类型。
字符串
最近反馈
该 recent_feedback 数据显示针对 Amazon 市场上特定商品列表的近期客户评论和反馈。

...
"recent_feedback": [
{
"feedback": "We truly appreciate you taking time out of your busy day to leave such a nice review. As a small business we truly like dealing with customers like you who share their positive experience.",
"rated_by": "By Troy on January 29, 2024.",
"rating_stars": 5
},
...
],
...
feedback
提交给卖家或卖家商品的反馈内容。
字符串
rated_by
提交反馈的用户及其信息。
字符串
rating_stars
所提交的星级数量。
整数
反馈摘要数据
该 feedback_summary_data 是针对 Amazon 市场上特定商品列表提供的反馈统计。反馈摘要数据包含不同时间段的信息,便于卖家和分析人员跟踪客户情绪随时间的变化。
...
"feedback_summary_data": {
"1_month": {
"count": 3,
"1_star": "33%",
"2_star": "0%",
"3_star": "0%",
"4_star": "33%",
"5_star": "33%"
},
"3_month": {
"count": 10,
"1_star": "10%",
"2_star": "0%",
"3_star": "0%",
"4_star": "20%",
"5_star": "70%"
},
...
}
...1_month/3_month/12_month/all_time
用于按定义的时间范围查看评分信息的筛选器。
对象
1_month/3_month/12_month/all_time.count
某一时间范围内可用的评论数量。
整数
1_month-all_time.1_star-5_star
某一时间范围内评分星级的百分比分布。
percentage
最后更新于
这有帮助吗?

