内容
# 爬虫站点
`爬虫站点` 是一个小型 Python MCP 服务器,包含用于提取网站 URL 和从图像中提取文本的工具。
该工具遵循以下流程:
```text
robots.txt
-> 查找站点地图 URL
-> 解析站点地图 XML
-> 收集 URL
-> 获取页面
-> httpx
-> 找到内容?
-> 是:提取 URL
-> 否:使用 crawl4ai 备用方案
```
## 设置
需要 Python 3.10+。
`extract_image_text` 工具还需要原生 Tesseract OCR 可执行文件:
- Windows:安装 Tesseract OCR。工具会自动检测标准安装路径 `C:\Program Files\Tesseract-OCR\tesseract.exe`;如果安装在其他位置,请设置 `TESSERACT_CMD`。
- macOS/Linux:使用系统包管理器安装 `tesseract`。
```bash
cd 爬虫站点
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
crawl4ai-setup
```
## 运行
```bash
python server.py
python server.py --http
```
HTTP 模式默认监听 `127.0.0.1:3002`。
## Claude 桌面配置
```json
{
"mcpServers": {
"爬虫站点": {
"command": "D:\\MCP\\爬虫站点\\.venv\\Scripts\\python.exe",
"args": ["D:\\MCP\\爬虫站点\\server.py"]
}
}
}
```
## 工具
### `extract_urls`
参数:
- `url`:页面或网站 URL。
- `same_domain`:仅返回输入主机名上的 URL。默认值:`true`。
- `same_path`:仅返回输入 URL 路径前缀下的 URL,例如 `https://example.com/blogs` 返回 `/blogs` 和 `/blogs/...` URL。默认值:`true`。
- `limit`:返回的最大唯一 URL 数量。默认值:`500`。
响应包括按来源统计的 URL,然后是带有找到每个 URL 的来源的 Markdown 项目符号列表,例如 `robots.txt`、`sitemap.xml`、`httpx` 或 `Crawl4AI`。如果未找到 URL,工具将返回统计信息和一条简短消息。
### `extract_content`
参数:
- `url`:要提取的页面 URL。允许使用无协议输入,如 `example.com`。
- `include_title`:在顶级 Markdown 标题中添加页面标题。默认值:`true`。
使用 httpx 获取页面并将可读的 HTML 转换为 Markdown(脚本、样式和其他非内容标签被剥离;相对链接和图像被解析为绝对 URL)。当静态 HTML 产生的內容很少时 — 例如 JavaScript 渲染的页面 — 它会回退到 `crawl4ai` 浏览器渲染并使用其原生 Markdown 输出。响应是 Markdown 内容。
### `extract_image_text`
参数:
- `image`:图像文件路径、图像 URL、数据 URL 或 base64 编码的图像内容。
- `lang`:Tesseract 语言代码。默认值:`eng`。
响应仅包含从图像中识别的文本。