n8n-nodes-smart-crawler
v0.1.5
Published
通用智能爬虫n8n节点,使用Axios + Cheerio,支持多跳数据提取
Downloads
104
Maintainers
Readme
n8n-nodes-smart-crawler
通用智能爬虫 n8n 节点,使用 Axios + Cheerio 实现,支持灵活的页面数据提取和多跳数据采集。
功能特性
- 🎯 灵活的选择器配置:使用 CSS 选择器精确定位页面元素
- 📦 多字段提取:支持同时提取多个字段,包括文本、HTML、属性值
- 🔗 多跳支持:最多支持 3 跳跳转,深度提取嵌套页面数据
- 🍪 Cookie 支持:支持配置 Cookie 访问需要登录的页面
- ⚙️ 预设字段:提供常用的字段提取配置选项
- 🔄 自动 URL 解析:自动处理相对路径和绝对路径 URL
快速开始
安装
在 n8n 中安装此节点:
npm install n8n-nodes-smart-crawler然后在 n8n 设置中刷新节点,即可在节点面板中使用。
基础使用
- 添加 Smart Crawler 节点到工作流
- 配置以下参数:
- 页面链接:要爬取的页面 URL
- Cookie:(可选)访问需要登录的页面时设置
- 列表选择器:选择数据列表的 CSS 选择器
- 添加字段配置:
- 字段名称:输出数据的字段名
- 选择器:CSS 选择器定位元素
- 提取类型:文本内容 / HTML 内容 / 属性值
- 属性名:(当类型为属性值时)指定属性名
- 执行工作流,提取数据
配置说明
列表选择器
指定包含多个数据项的容器选择器。例如:
.product-item- 选择所有 class 为 product-item 的元素.news-list > li- 选择列表中的所有列表项div[data-type="item"]- 选择具有特定属性的元素
字段配置
每个字段配置项可以提取列表项中的特定数据。
提取类型
- 文本内容:提取元素的文本内容(去除空白)
- HTML 内容:提取元素的 HTML 代码
- 属性值:提取元素的指定属性值
多跳配置
对于需要跳转到其他页面提取的字段,可以启用跳转配置。
跳转配置结构
每跳包含以下配置:
- 点击元素选择器:用于获取跳转链接的元素
- 目标页面数据选择器:(可选)跳转后页面的数据容器选择器
- 字段:在跳转页面要提取的字段列表
跳转层级
- 第一跳:从列表项跳转到详情页
- 第二跳:从详情页跳转到相关页面
- 第三跳:继续深入跳转
使用示例
示例 1:提取新闻列表
页面链接:https://news.example.com
列表选择器:.news-item
字段:
- 字段名称:title
选择器:.title
提取类型:文本内容
- 字段名称:link
选择器:a.read-more
提取类型:属性值
属性名:href示例 2:多跳提取商品详情
页面链接:https://shop.example.com/products
列表选择器:.product-card
字段:
- 字段名称:productName
选择器:h3.name
提取类型:文本内容
- 字段名称:details
选择器:a.detail-link
是否为跳转字段:是
跳转配置(第一跳):
点击元素选择器:a
字段:
- 字段名称:price
选择器:.price
提取类型:文本内容
- 字段名称:description
选择器:.description
提取类型:HTML 内容开发
本地开发
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建
npm run build
# 代码检查
npm run lint
npm run lint:fix发布
# 构建项目
npm run build
# 发布到 npm
npm publish技术栈
许可证
贡献
欢迎提交 Issue 和 Pull Request!
