如何在 n8n 上使用 Scrapeless 构建一个 AI 驱动的管道?

Advanced Data Extraction Specialist
引言
在当今的数据驱动环境中,组织需要有效的方式来提取、处理和分析网络内容。传统的网页抓取面临诸多挑战:反机器人保护、复杂的JavaScript渲染和持续维护的需要。此外,理解非结构化网络数据需要复杂的处理。
本指南演示如何使用n8n工作流自动化、Scrapeless网页抓取、Claude AI进行智能提取以及Qdrant向量数据库进行语义存储来构建一个完整的网络数据管道。无论您是在构建知识库、进行市场研究,还是开发AI助手,这个工作流都提供了强大的基础。
您将构建的内容
我们的n8n工作流结合了几种尖端技术:
- Scrapeless网络解锁器:具有JavaScript渲染的高级网页抓取
- Claude 3.7 Sonnet:AI驱动的数据提取和结构化
- Ollama嵌入:本地向量嵌入生成
- Qdrant向量数据库:语义存储和检索
- 通知系统:通过Webhooks进行实时监控
这个端到端的管道将混乱的网页数据转化为结构化、向量化的信息,准备进行语义搜索和AI应用。
安装与设置
安装n8n
n8n需要Node.js v18、v20或v22。如果您遇到版本兼容性问题:
# 检查您的Node.js版本
node -v
# 如果您有一个更新的、不受支持的版本(例如v23+),请安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# 或者对于Windows,使用NVM for Windows安装程序
# 安装兼容的Node.js版本
nvm install 20
# 使用已安装的版本
nvm use 20
# 全局安装n8n
npm install n8n -g
# 运行n8n
n8n
您的n8n实例现在应该在http://localhost:5678可用。
设置Claude API
- 访问Anthropic控制台并创建一个帐户
- 导航到API密钥部分
- 点击“创建密钥”并设置适当的权限
- 复制您的API密钥,以在n8n工作流中使用(在AI数据检查器、Claude数据提取器和Claude AI代理中)

设置Scrapeless
- 访问Scrapeless并创建一个帐户
- 在您的仪表板中导航到通用抓取API部分 https://app.scrapeless.com/exemple/overview

- 复制您的令牌以在n8n工作流中使用

您可以使用此curl命令自定义Scrapeless网页抓取请求,并将其直接导入n8n中的HTTP请求节点:
curl -X POST "https://api.scrapeless.com/api/v1/unlocker/request" \
-H "Content-Type: application/json" \
-H "x-api-token: scrapeless_api_key" \
-d '{
"actor": "unlocker.webunlocker",
"proxy": {
"country": "ANY"
},
"input": {
"url": "https://www.scrapeless.com",
"method": "GET",
"redirect": true,
"js_render": true,
"js_instructions": [{"wait":100}],
"block": {
"resources": ["image","font","script"],
"urls": ["https://example.com"]
}
}
}'

使用Docker安装Qdrant
# 拉取Qdrant镜像
docker pull qdrant/qdrant
# 运行Qdrant容器并保持数据持久性
docker run -d \
--name qdrant-server \
-p 6333:6333 \
-p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
验证Qdrant是否在运行:
curl http://localhost:6333/healthz
安装Ollama
macOS:
brew install ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
Windows:从Ollama的网站下载并安装。
启动Ollama服务器:
ollama serve
安装所需的嵌入模型:
ollama pull all-minilm
验证模型安装:
ollama list
设置n8n工作流
工作流概述
我们的工作流由以下关键组件组成:
- 手动/定时触发器:启动工作流
- 集合检查:验证Qdrant集合是否存在
- URL配置:设置目标URL和参数
- Scrapeless网页请求:提取HTML内容
- Claude数据提取:处理和结构化数据
- Ollama 嵌入:生成向量嵌入
- Qdrant 存储:保存向量和元数据
- 通知:通过 webhook 发送状态更新
步骤 1:配置工作流触发器和集合检查
开始时添加一个手动触发节点,然后添加一个 HTTP 请求节点来检查您的 Qdrant 集合是否存在。您可以在这一步自定义集合名称 - 如果集合不存在,工作流将自动创建该集合。
重要提示: 如果您想使用与默认 "hacker-news" 不同的集合名称,请确保在所有引用 Qdrant 的节点中一致地更改它。
步骤 2:配置 Scrapeless 网页请求
添加一个 HTTP 请求节点用于 Scrapeless 网络抓取。使用之前提供的 curl 命令配置该节点,将 YOUR_API_TOKEN 替换为您的实际 Scrapeless API 令牌。
您可以在 Scrapeless Web Unlocker 中配置更高级的抓取参数。
步骤 3:Claude 数据提取
添加一个节点来使用 Claude 处理 HTML 内容。您需要提供您的 Claude API 密钥进行身份验证。Claude 提取器分析 HTML 内容,并以 JSON 格式返回结构化数据。
步骤 4:格式化 Claude 输出
该节点获取 Claude 的响应,提取相关信息并适当格式化,以便进行向量化。
步骤 5:Ollama 嵌入生成
该节点将结构化文本发送到 Ollama 进行嵌入生成。确保您的 Ollama 服务器正在运行,并且已安装 all-minilm 模型。
步骤 6:Qdrant 向量存储
该节点将生成的嵌入存储在您的 Qdrant 集合中,并附带相关的元数据。
步骤 7:通知系统
最后一个节点通过您配置的 webhook 发送工作流执行状态的通知。
排除常见问题
n8n Node.js 版本问题
如果您看到类似以下错误:
您的 Node.js 版本 X 目前不受 n8n 支持。
请使用 Node.js v18.17.0(推荐)、v20 或 v22!
请通过安装 nvm 并使用设置部分所述的兼容 Node.js 版本来修复。
Scrapeless API 连接问题
- 验证您的 API 令牌是否正确
- 检查是否超过 API 限速
- 确保 URL 格式正确
Ollama 嵌入错误
常见错误:connect ECONNREFUSED ::1:11434
修复:
- 确保 Ollama 正在运行:ollama serve
- 验证模型是否已安装:ollama pull all-minilm
- 使用直接 IP(127.0.0.1)而不是 localhost
- 检查是否有其他进程使用端口 11434
高级使用场景
批处理多个 URL
要在一次工作流执行中处理多个 URL:
- 使用分批节点以并行方式处理 URL
- 为每个批次配置适当的错误处理
- 使用合并节点来组合结果
定时数据更新
通过定时更新保持您的向量数据库最新:
- 用计划节点替换手动触发器
- 配置更新频率(日常、每周等)
- 使用条件节点仅处理新内容或更改的内容
自定义提取模板
为不同内容类型调整 Claude 的提取:
- 为新闻文章、产品页面、文档等创建特定提示
- 使用切换节点选择适当的提示
- 将提取模板存储为环境变量
结论
该 n8n 工作流创建了一个强大的数据管道,结合了 Scrapeless 网络抓取、Claude AI 提取、向量嵌入和 Qdrant 存储的优势。通过自动化这些复杂过程,您可以专注于使用提取的数据,而不是获取数据的技术挑战。
n8n 的模块化特性使您能够通过额外的处理步骤、与其他系统的集成或自定义逻辑扩展此工作流,以满足您的特定需求。无论您是构建 AI 知识库、进行竞争分析,还是监控网络内容,该工作流都提供了坚实的基础。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。