基于AI的Web数据管道,使用n8n、Scrapeless和Claude

引言

在当今数据驱动的环境中,组织需要高效的方法来提取、处理和分析网络内容。传统的网络抓取面临着诸多挑战:反机器人保护、复杂的JavaScript渲染以及持续的维护需求。此外,理解非结构化的网络数据则需要复杂的处理能力。

本指南演示了如何使用 n8n 工作流自动化、Scrapeless 网络抓取、Claude AI 进行智能提取,以及 Qdrant 向量数据库进行语义存储,构建完整的网络数据管道。无论您是构建知识库、进行市场研究,还是开发 AI 助手,此工作流都提供了强大的基础。

您将构建的内容

我们的 n8n 工作流结合了几种尖端技术:

  • Scrapeless 网络解锁器:先进的网络抓取与 JavaScript 渲染
  • Claude 3.7 诗集:人工智能驱动的数据提取和结构化
  • Ollama 嵌入:本地向量嵌入生成
  • Qdrant 向量数据库:语义存储和检索
  • 通知系统:通过网络钩子实现实时监控

这个端到端的管道将凌乱的网络数据转化为结构化、向量化的信息,准备进行语义搜索和 AI 应用。

使用 n8n、Scrapeless 和 Claude 构建 AI 驱动的网络数据管道

安装与设置

安装 n8n

n8n 需要 Node.js v18、v20 或 v22。如果您遇到版本兼容性问题:

Copy

# 检查您的 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

  1. 访问 Anthropic 控制台并创建一个帐户
  2. 导航到 API 密钥部分
  3. 点击“创建密钥”,并设置适当的权限
  4. 复制您的 API 密钥以用于 n8n 工作流(在 AI 数据检查器、Claude 数据提取器和 Claude AI 代理中)

设置 Claude API

设置 Scrapeless

  1. 访问 Scrapeless 并创建一个帐户
  2. 导航到仪表板中的通用抓取 API 部分 Effortless Web Scraping Toolkit - Scrapeless

设置 Scrapeless

  1. 复制您的令牌以用于 n8n 工作流

复制您的令牌以用于 n8n 工作流

您可以使用此 curl 命令自定义您的 Scrapeless 网络抓取请求,并将其直接导入到 n8n 的 HTTP 请求节点中:

Copy

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"]}}}'

您可以自定义您的 Scrapeless 网络抓取请求

使用 Docker 安装 Qdrant

Copy

# 拉取 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 是否正在运行:

Copy

curl http://localhost:6333/healthz

安装 Ollama

macOS:

Copy

brew install ollama

Linux:

Copy

curl -fsSL https://ollama.com/install.sh | sh

Windows:从 Ollama 的网站下载并安装。

启动 Ollama 服务器:

Copy

ollama serve

安装所需的嵌入模型:

Copy

ollama pull all-minilm

验证模型安装:

Copy

ollama list

设置 n8n 工作流

工作流概述

我们的工作流由以下关键组件组成:

  1. 手动/计划触发:启动工作流
  2. 集合检查:验证 Qdrant 集合是否存在
  3. URL 配置:设置目标 URL 和参数
  4. Scrapeless 网络请求:提取 HTML 内容
  5. Claude 数据提取:处理和结构化数据
  6. Ollama 嵌入:生成向量嵌入
  7. Qdrant 存储:保存向量和元数据
  8. 通知:通过网络钩子发送状态更新

步骤 1:配置工作流触发器和集合检查

首先添加一个手动触发节点,然后添加一个 HTTP 请求节点以检查您的 Qdrant 集合是否存在。您可以在此初始步骤中自定义集合名称 - 如果集合不存在,工作流将自动创建它。

重要说明: 如果您想使用与默认“hacker-news”不同的集合名称,请确保在所有引用 Qdrant 的节点中一致地更改它。

步骤 2:配置 Scrapeless 网络请求

添加一个 HTTP 请求节点用于 Scrapeless 网络抓取。使用之前提供的 curl 命令配置节点,将 YOUR_API_TOKEN 替换为您实际的 Scrapeless API 令牌。

您可以在 Scrapeless Web Unlocker 中配置更高级的抓取参数。

步骤 3:Claude 数据提取

添加一个节点处理 HTML 内容,使用 Claude。您需要提供您的 Claude API 密钥以进行身份验证。Claude 提取器分析 HTML 内容并以 JSON 格式返回结构化数据。

步骤 4:格式化 Claude 输出

此节点获取 Claude 的响应,并通过提取相关信息并适当地格式化来为向量化做准备。

步骤 5:生成 Ollama 嵌入

此节点将结构化文本发送到 Ollama 以生成嵌入。确保您的 Ollama 服务器正在运行,并且已安装 all-minilm 模型。

步骤 6:Qdrant 向量存储

此节点将生成的嵌入存储在您的 Qdrant 集合中,连同相关的元数据。

步骤 7:通知系统

最后一个节点通过您配置的网络钩子发送工作流执行状态的通知。

常见问题排查

n8n Node.js 版本问题

如果您看到如下错误:

Copy

您的 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:

  1. 使用批次拆分节点并行处理 URL
  2. 为每个批次配置适当的错误处理
  3. 使用合并节点合并结果

定期数据更新

通过定期更新保持您的向量数据库最新:

  1. 用计划节点替换手动触发
  2. 配置更新频率(每日、每周等)
  3. 使用如果节点仅处理新或更改的内容

自定义提取模板

为不同内容类型调整 Claude 的提取:

  1. 为新闻文章、产品页面、文档等创建特定提示
  2. 使用开关节点选择合适的提示
  3. 将提取模板存储为环境变量

结论

此 n8n 工作流创建了一个强大的数据管道,结合了 Scrapeless 网络抓取、Claude AI 提取、向量嵌入和 Qdrant 存储的优势。通过自动化这些复杂的过程,您可以专注于使用提取的数据,而不是获取它的技术挑战。

n8n 的模块化特性使您能够扩展此工作流,增加更多处理步骤、与其他系统的集成或自定义逻辑,以满足您的特定需求。无论您是构建 AI 知识库、进行竞争分析,还是监控网络内容,这个工作流都提供了坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cadence学习笔记之---PCB器件放置与布局

目录 01 | 引 言 02 | 环境描述 03 | 元件放置 04 | 布局相关操作 06 | 总 结 01 | 引 言 在上一篇文章中,介绍了如何设置PCB的电气规则约束,以及如何设置层叠,到此我们已经完成了使用Cadence设计PCB的前期准备工作; 在本篇…

力扣HOT100之二叉树:199. 二叉树的右视图

这道题没啥好说的,首先定义一个向量来保存每一层的最后一个元素,直接用层序遍历(广度优先搜索)遍历二叉树,然后将每一层的最后一个元素加入到这个向量中即可。属于是二叉树层序遍历的模板题。 /*** Definition for a …

CSS:三大特性

文章目录 一、层叠性二、继承性三、优先级 一、层叠性 二、继承性 可以在MDN网站上查看属性是否可以被继承 例如color 三、优先级

C++经典库介绍

在 C 开发的漫长历程中,涌现出了许多经典的库,它们在不同的领域发挥着重要作用,极大地提升了 C 开发的效率和质量。下面为你介绍一些 C 开发中的经典库。 标准模板库(STL) STL 堪称 C 编程领域的基石,是每…

Git本地使用小Tips

要将本地仓库 d:\test 的更新推送到另一个本地仓库 e:\test,可以使用 Git 的远程仓库功能。以下是具体步骤: ​​在 e:\test 中添加 d:\test 作为远程仓库​​ 在 e:\test 目录中打开 Git Bash 或命令行,执行以下命令: git remo…

AWS SageMaker vs Bedrock:该选哪个?

随着生成式 AI 的快速崛起,越来越多企业希望借助云上工具,加速 AI 应用的构建与落地。AWS 作为领先的云服务提供商,提供了两款核心 AI 服务:Amazon SageMaker 和 Amazon Bedrock。它们虽然同属 AWS AI 生态系统,但定位…

51单片机的lcd12864驱动程序

#include <reg51.h> #include <intrins.h>#define uchar

Git .gitattributes 文件用途详解

.gitattributes 是 Git 版本控制系统中的一个配置文件&#xff0c;用于定义特定文件或路径的属性&#xff0c;从而控制 Git 如何处理这些文件。它类似于 .gitignore&#xff0c;但功能更广泛&#xff0c;可以精细化管理文件在版本控制中的行为。 主要用途 以下是 .gitattribut…

使用 Apache POI 生成 Word 文档

创建一个包含标题、段落和表格的简单文档。 步骤 1:添加依赖 确保你的项目中已经添加了 Apache POI 的依赖。如果你使用的是 Maven,可以在 pom.xml 中添加以下内容: <dependency><groupId>org.apache.poi</groupId>

数据中心 智慧机房解决方案

该文档介绍数据中心智慧机房解决方案,涵盖模块化数据中心(机柜式、微模块),具备低成本快速部署、标准化建设等特点;监控管理系统(DCIM)可实现设施、资产、容量、能效管理;节能解决方案含精密空调节能控制柜,节能率高达 30%;还有7X24 小时云值守运维服务。方案亮点包括…

java -jar命令运行 jar包时如何运行外部依赖jar包

java -jar命令运行 jar包时如何运行外部依赖jar包 场景&#xff1a; 打包发不完,运行时。发现一个问题&#xff0c; java java.lang.NoClassDefFoundError: org/apache/commons/lang3/ArrayUtils 显示此&#xff0c;基本表明&#xff0c;没有这个依赖&#xff0c;如果在开发…

Halcon与C#:工业级机器视觉开发

Halcon&#xff08;由MVTec开发&#xff09;是一款广泛应用于工业机器视觉的高性能软件库&#xff0c;支持C#、C、Python等多种语言。以下是基于C#的Halcon开发详解&#xff0c;涵盖环境配置、核心流程、关键API及最佳实践。 ​​1. 开发环境配置​​ ​​1.1 安装Halcon​​ …

ALTER COLLATION使用场景

ALTER COLLATION 是 SQL 中用于修改字符集排序规则&#xff08;Collation&#xff09;的操作。排序规则定义了字符数据的比较和排序方式&#xff0c;包括字母顺序、大小写敏感性、重音符号处理等。ALTER COLLATION 的使用场景主要集中在需要调整数据库或表的字符集排序规则时。…

Kafka消息路由分区机制深度解析:架构设计与实现原理

一、消息路由系统的核心架构哲学 1.1 分布式系统的三元悖论 在分布式消息系统的设计过程中&#xff0c;架构师需要平衡三个核心诉求&#xff1a;数据一致性、系统可用性和分区容忍性。Kafka的分区路由机制本质上是对CAP定理的实践解&#xff1a; 一致性维度&#xff1a;通过…

【网络实验】-BGP-EBGP的基本配置

实验拓扑 实验要求&#xff1a; 使用两种方式建立不同AS号的BGP邻居&#xff0c;不同AS号路由器之间建立的邻居称为EBGP邻居 实验目的&#xff1a; 熟悉使用物理口和环回口建立邻居的方式 IP地址规划&#xff1a; 路由器接口IP地址AR1G0/0/012.1.1.1/24AR1Loopback 01.1.1…

JavaScript:PC端特效--缓动动画

一、缓动效果原理 缓动动画就是让元素运动速度有所变化&#xff0c;最常见的就是让元素慢慢停下来 思路&#xff1a; 让盒子每次移动的距离慢慢变小&#xff0c;速度就会慢慢降下来核心算法&#xff1a;&#xff08;目标值-现在位置&#xff09;/10作为每次移动距离的步长停…

高效管理多后端服务:Nginx 配置与实践指南

在现代的 Web 开发和运维中&#xff0c;一个系统往往由多个后端服务组成&#xff0c;每个服务负责不同的功能模块。例如&#xff0c;一个电商网站可能包括用户服务、订单服务和支付服务&#xff0c;每个服务都运行在独立的服务器或容器中。为了高效地管理这些服务并提供统一的访…

2025年PMP 学习二十一 14章 项目立项管理

2025年PMP 学习二十一 14章 项目立项管理 项目立项管理 项目建议 (Project Proposal)项目可行性分析 (Project Feasibility Analysis)项目审批 (Project Approval)项目招投标 (Project Tendering)项目合同谈判和签订 (Project Contract Negotiation and Signing) 文章目录 20…

用Caffeine和自定义注解+AOP优雅实现本地防抖接口限流

一、背景与需求 在实际项目开发中&#xff0c;经常遇到接口被前端高频触发、按钮被多次点击或者接口重复提交的问题&#xff0c;导致服务压力变大、数据冗余、甚至引发幂等性/安全风险。 常规做法是前端节流/防抖、后端用Redis全局限流、或者API网关限流。但在很多场景下&…

【IP101】纹理特征提取与分析:从统计方法到深度表征的系统解析

纹理分析详解 &#x1f3a8; 纹理分析就像是给图像做"指纹识别"&#xff01;每种纹理都有其独特的"指纹"&#xff0c;就像木纹的条纹、布料的编织、草地的随机分布一样。让我们一起来探索这个既有趣又实用的图像处理领域吧&#xff01; 目录 1. 什么是纹理…