内容
# 亚马逊爬虫 MCP 服务器
一个模型上下文协议服务器,用于爬取 20 个全球亚马逊域名上的产品数据。为那些购物车中有太多显示器,却没时间阅读规格的人而建。我创建这个只是因为我懒得比较我想要的 18 种显示器,所以我使用 MCP 并让 LLM 代劳。
## 可用工具
### `scrape_amazon_product`
从任何亚马逊产品 URL 中爬取详细的产品信息。
| 参数 | 类型 | 必需 | 描述 |
| --------- | ------ | ---- | ------------------------------------------ |
| `url` | 字符串 | 是 | 完整的亚马逊产品 URL(例如 `https://www.amazon.com/dp/B0XXXXXXXX`) |
**返回:** 标题、价格、品牌、评分、评论、可用性、Prime 状态、功能、规格、图片等。
### `scrape_amazon_batch`
一次爬取多个亚马逊产品。适合购物车中有 20 个显示器,却没有耐心的情况。
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---------- | ---- | ------------------------ |
| `urls` | 字符串数组 | 是 | 亚马逊产品 URL 数组 |
**返回:** 详细的产品数据数组,自动延迟以避免速率限制。
### `search_amazon`
在亚马逊上搜索产品。找到更多显示器添加到购物车。
| 参数 | 类型 | 必需 | 默认值 | 描述 |
| ------------ | ------ | ---- | ------------ | --------------------------------------------- |
| `query` | 字符串 | 是 | - | 搜索查询(例如“游戏显示器 27 英寸”) |
| `domain` | 字符串 | 否 | `amazon.com` | 亚马逊搜索域名 |
| `maxResults` | 数字 | 否 | `10` | 最大结果数(最多 20) |
**支持的域名:**
`amazon.com`, `amazon.co.uk`, `amazon.de`, `amazon.fr`, `amazon.co.jp`, `amazon.ca`, `amazon.com.au`, `amazon.es`, `amazon.it`, `amazon.nl`, `amazon.com.br`, `amazon.com.mx`, `amazon.in`, `amazon.sg`, `amazon.ae`, `amazon.sa`, `amazon.se`, `amazon.pl`, `amazon.com.tr`, `amazon.eg`
## 安装
### 先决条件
- Node.js 18+
- 已安装 Playwright 浏览器
```bash
# 克隆仓库
git clone https://github.com/yourusername/amazon-scraper-mcp.git
cd amazon-scraper-mcp
# 安装依赖
npm install
# 安装 Playwright 浏览器
npx playwright install chromium
# 构建
npm run build
```
## 配置
### Claude Desktop
添加到您的 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"amazon-scraper": {
"command": "node",
"args": ["/path/to/amazon-scraper-mcp/dist/index.js"]
}
}
}
```
### VS Code
添加到您的 `.vscode/mcp.json` 或用户设置:
```json
{
"mcp": {
"servers": {
"amazon-scraper": {
"command": "node",
"args": ["/path/to/amazon-scraper-mcp/dist/index.js"]
}
}
}
}
```
## 示例用法
**我凌晨 2 点:**
> “嘿 Claude,我的亚马逊购物车中有 20 个显示器。这里是网址。告诉我哪个适合编码和偶尔玩游戏。预算灵活,但我的理智不是。”
**Claude,使用此 MCP 后:**
> “根据规格,Dell S2722QC 为您的使用场景提供了最佳价值。它具有 USB-C 连接性,适用于您的 MacBook,4K 分辨率提供清晰的文本,IPS 面板提供准确的颜色。LG 也很出色,但价格高 30%,而颜色准确性的提升 10%,您在凌晨 3 点盯着终端时可能不会注意到。”
**我:**
> “那 49 英寸的超宽屏显示器呢?”
**Claude:**
> “那是一款 1,500 美元的显示器。你说预算灵活,不是无限。”
## 工作原理
1. **本地检测** - 自动从 URL 检测亚马逊域名并设置适当的语言头部
2. **智能爬取** - 使用 Playwright 像真实浏览器一样渲染页面
3. **多本地支持** - 在 10 多种语言中提取品牌名称、日期和排名
4. **速率限制** - 批量爬取的内置延迟以避免被阻止
## 返回数据
```typescript
{
url: string;
asin: string;
title: string;
price: string;
originalPrice: string;
discount: string;
currency: string; // 从价格或本地检测
brand: string; // 跨所有本地清理
seller: string;
category: string;
description: string;
features: string[]; // 要点
specs: Record<string, string>; // 所有产品详情
images: string[]; // 高分辨率图像 URL
rating: string;
ratingValue: number;
reviewCount: string;
availability: string;
isPrime: boolean;
productDimensions: string;
weight: string;
dateFirstAvailable: string;
bestSellerRank: string;
}
```
## 限制
- **CAPTCHA** - 如果亚马逊显示 CAPTCHA,爬虫将返回错误。稍后重试或使用不同 IP。
- **速率限制** - 不要疯狂。批量爬虫有内置延迟,但如果您爬取 100 个产品,亚马逊仍可能怀疑。
- **动态内容** - 部分内容通过 JavaScript 加载页面后。爬虫等待 2 秒,但某些数据可能丢失。
## 免责声明
此工具仅供个人使用。请尊重亚马逊的服务条款。不要使用此工具:
- 大规模爬取用于商业目的
- 构建竞争性价格比较服务
- 比 Jeff Bezos 更烦人
我创建此工具只是为了帮助我购买显示器。仅此而已。
## 结尾
我买了显示器吗?是的。
是不是购物车里的 20 个显示器之一?不是。
Claude 说服我等待促销。我想要的显示器两周后降价 20%。
有时候最好的决定就是不做决定。谢谢 Claude,谢谢 MCP。
现在去爬取一些产品,让 AI 帮你做出购买决定。可能会有什么问题呢?