内容
# 网页抓取 MCP 服务器
---
## 中文
MCP 服务器允许 AI 代理搜索网页并提取干净的 Markdown 内容 — 没有广告,没有杂乱,只需 LLM 需要的文本。
### v2.0.0 新增功能
**新功能:**
- **JavaScript 渲染** — 使用 Playwright(无头 Chromium)渲染重 JavaScript 的网站。当 httpx 获取 403 或空内容时自动回退
- **结构化数据提取** — 使用 `extract_schema=True` 提取 JSON-LD、Open Graph、Twitter Cards、元标签、规范 URL 和 hreflang 链接
- **截图** — 新的 `webscrape_screenshot` 工具捕获网页截图,支持可配置视口、全页模式和 PNG/JPEG 格式
- **多引擎搜索** — DuckDuckGo 优先,自动回退到 Google 和 Bing(如果 DDGS 不可用)
- **智能截断** — 在段落/句子边界处截断内容,而不是在单词中间
**改进:**
- 增强缓存:500 条目,15 分钟 TTL(之前为 200,无过期)
- 更好的错误处理,针对 403、404、429、超时提供特定消息
- 更新的 Dockerfile,包含 Playwright 的 Chromium 依赖
### 工具
| 工具 | 描述 |
|------|-------------|
| `webscrape_fetch_url` | 获取单个 URL 并返回干净的 Markdown。支持 `use_readability`、`js_render`、`extract_schema`,并自动检测 PDF |
| `webscrape_batch_fetch` | 并行获取最多 5 个 URL。支持 PDF 自动检测、JS 渲染和结构化数据 |
| `webscrape_search` | 搜索网页(DuckDuckGo → Google → Bing 回退)并将结果抓取到 Markdown |
| `webscrape_screenshot` | 使用无头 Chromium 捕获任何网页的截图。支持 PNG/JPEG、视口调整和全页捕获 |
### 功能
- **PDF 支持**:以 `.pdf` 结尾的 URL 或具有 `application/pdf` 内容类型的 URL 会自动检测,并逐页提取文本
- **可读性模式**:在 `webscrape_fetch_url` 中传递 `use_readability=True`,使用 Mozilla Readability 提取更干净的文章(移除导航、侧边栏、广告、评论)
- **JavaScript 渲染**:在 `js_render=True` 时使用 Playwright(无头 Chromium)渲染重 JavaScript 的网站。当 httpx 获取 403 或空内容时自动回退
- **结构化数据提取**:在 `extract_schema=True` 时提取 JSON-LD、Open Graph、Twitter Cards、元标签、规范 URL 和 hreflang 链接
- **多引擎搜索**:DuckDuckGo 优先,自动回退到 Google 和 Bing(如果 DDGS 不可用)
- **截图**:捕获网页截图,支持可配置视口、全页模式和 PNG/JPEG 格式
- **内置缓存**:500 条目缓存,TTL 为 15 分钟(针对重复 URL)
- **批量获取**:最多 5 个 URL 并行
- **智能截断**:在段落/句子边界处截断内容,而不是在单词中间
### 使用方法
#### 选项 1 — MCPize(推荐)
1. 访问 https://mcpize.com/marketplace
2. 搜索 **Web Scrape** 并点击 **Start Free**
3. 您将获得一个 API 密钥
4. 在您的 AI 客户端中配置:
```json
{
"mcpServers": {
"webscrape": {
"url": "https://webscrape.mcpize.run",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}
```
#### 选项 2 — Render(开发)
```json
{
"mcpServers": {
"webscrape": {
"url": "https://webscrape-mcp.onrender.com"
}
}
}
```
#### 选项 3 — 本地
```bash
git clone https://github.com/carrasquelalex1/webscrape-mcp.git
cd webscrape-mcp
pip install -r requirements.txt
playwright install chromium
python webscrape_mcp.py
```
### 官方注册
`io.github.carrasquelalex1/webscrape-mcp`
### 依赖
`mcp`, `httpx`, `beautifulsoup4`, `markdownify`, `pydantic`, `ddgs`, `readability-lxml`, `PyMuPDF`, `playwright`
### 许可证
MIT