Google 购物数据对于价格监控、竞争分析和电子商务研究至关重要。使用代理抓取 Google Shopping 是很脆弱的,因为 Google 会积极阻止自动请求、旋转页面布局并需要 JavaScript 渲染。像 Scavio 这样的搜索 API 以 JSON 形式返回结构化的 Google 购物结果,包括产品标题、价格、评级、卖家名称和链接。本教程展示了如何在 Python 和 JavaScript 中查询 Google Shopping 数据,而无需接触代理或无头浏览器。您只需十行代码即可获得可靠、结构化的结果。
前置条件
- 安装了 Python 3.8+ 或 Node.js 18+
- 请求已安装库 (Python) 或获取可用 (JS)
- 来自 scavio.dev 的 Scavio API 密钥
操作指南
步骤 1: 设置您的 API 密钥
将您的 Scavio API 密钥存储为环境变量,以使其不受源代码控制。
import os
API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")步骤 2: 查询Google购物结果
将您的产品查询发布到 Scavio API。响应包含结构化购物结果,包括价格、评级和卖家信息。
import requests
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": "wireless earbuds", "type": "shopping"})
data = resp.json()步骤 3: 解析产品数据
从每个购物结果中提取价格、评级和卖家以进行分析或存储。
for item in data.get("shopping_results", [])[:5]:
print(f"{item['title']} - {item.get('price', 'N/A')}")
print(f" Seller: {item.get('source', 'N/A')}")
print(f" Rating: {item.get('rating', 'N/A')} ({item.get('reviews', 0)} reviews)")步骤 4: 导出为 CSV
将购物结果保存到 CSV 文件以供电子表格分析或下游管道使用。
import csv
with open("shopping_results.csv", "w", newline="") as f:
w = csv.DictWriter(f, fieldnames=["title", "price", "source", "rating", "link"])
w.writeheader()
for item in data.get("shopping_results", []):
w.writerow({
"title": item.get("title", ""),
"price": item.get("price", ""),
"source": item.get("source", ""),
"rating": item.get("rating", ""),
"link": item.get("link", ""),
})Python 示例
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": "wireless earbuds", "type": "shopping"})
for item in resp.json().get("shopping_results", [])[:5]:
print(f"{item['title']} - {item.get('price', 'N/A')}")JavaScript 示例
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"},
body: JSON.stringify({platform: "google", query: "wireless earbuds", type: "shopping"})
});
const data = await r.json();
(data.shopping_results || []).slice(0, 5).forEach(i =>
console.log(i.title, i.price)
);预期输出
A list of Google Shopping products with title, price, seller, rating, and link returned as structured JSON without any proxy infrastructure.