N8n nodes to crawl tech news articles from Chinese tech media platforms (Zhihu, CSDN, Woshipm, Toutiao)
npm install n8n-nodes-tech-crawlerjson
{
"title": "文章标题",
"url": "文章链接",
"author": "作者名称",
"publishDate": "发布时间(ISO 8601格式)",
"content": "文章正文内容",
"summary": "文章摘要",
"tags": ["标签1", "标签2"],
"readCount": 阅读数,
"likeCount": 点赞数,
"commentCount": 评论数,
"coverImage": "封面图URL",
"source": "来源平台",
"crawledAt": "爬取时间"
}
`
📦 安装
$3
`bash
npm install n8n-nodes-tech-crawler
`
$3
`bash
克隆或下载本项目
cd n8n-nodes-tech-crawler
安装依赖
npm install
构建项目
npm run build
链接到n8n
npm link
cd ~/.n8n/custom
npm link n8n-nodes-tech-crawler
`
$3
安装完成后,重启n8n即可在节点面板中看到新增的8个爬虫节点。
🚀 快速开始
$3
1. 添加"知乎文章爬虫"节点
2. 配置参数:
- 操作模式:列表爬取
- 关键词:人工智能
- 爬取数量:10
- 请求延迟:1000毫秒
3. 运行工作流,获取10篇相关文章
$3
1. 添加"CSDN文章爬虫"节点
2. 配置参数:
- 操作模式:详情爬取
- 文章URL:https://blog.csdn.net/xxxxx
3. 运行工作流,获取完整文章内容
$3
创建一个工作流,使用多个爬虫节点并行爬取不同平台:
`
[Start]
├─> [知乎爬虫] ─> [Merge]
├─> [CSDN爬虫] ─> [Merge]
└─> [机器之心爬虫] ─> [Merge] ─> [保存到数据库]
`
⚙️ 配置说明
$3
| 参数名 | 类型 | 说明 | 默认值 |
|--------|------|------|--------|
| 操作模式 | 选择 | list(列表)/detail(详情) | list |
| 关键词 | 字符串 | 搜索关键词(列表模式) | "" |
| 文章URL | 字符串 | 文章链接(详情模式) | "" |
| 爬取数量 | 数字 | 爬取文章数量(列表模式) | 10 |
| 请求延迟 | 数字 | 请求间隔时间(毫秒) | 1000 |
$3
| 参数名 | 类型 | 说明 | 默认值 |
|--------|------|------|--------|
| 超时时间 | 数字 | 请求超时(毫秒) | 30000 |
| 失败重试 | 布尔 | 是否启用重试 | true |
| 最大重试次数 | 数字 | 重试次数 | 3 |
📖 使用场景
$3
定期爬取多个平台的最新技术文章,建立技术情报库。
$3
监控特定关键词的文章发布,及时了解行业动态。
$3
爬取竞品相关的文章和讨论,分析市场趋势。
$3
收集大量文章数据,进行文本分析、情感分析等。
$3
将多个平台的优质内容聚合到一个地方。
⚠️ 注意事项
$3
- 请遵守各平台的robots.txt协议
- 仅用于个人学习和研究用途
- 不要用于商业用途或大规模爬取
- 尊重原创作者的版权
$3
- 建议设置合理的请求延迟(1-3秒)
- 避免在短时间内大量请求
- 注意各平台的反爬虫策略
$3
- 网站结构可能随时变化,导致爬取失败
- 某些内容可能需要登录才能访问
- 动态加载的内容可能无法获取
$3
- 启用"失败时继续"选项处理单个失败
- 检查n8n日志了解具体错误原因
- 必要时调整超时时间和重试次数
🛠️ 开发和调试
$3
`bash
克隆项目
git clone
cd n8n-nodes-tech-crawler
安装依赖
npm install
开发模式(自动重新编译)
npm run dev
格式化代码
npm run format
代码检查
npm run lint
修复代码问题
npm run lintfix
`
$3
`
n8n-nodes-tech-crawler/
├── nodes/ # 节点实现
│ ├── ZhihuCrawler/ # 知乎爬虫
│ ├── CsdnCrawler/ # CSDN爬虫
│ ├── SohuCrawler/ # 搜狐爬虫
│ ├── WoshipmCrawler/ # 人人都是产品经理
│ ├── ToutiaoCrawler/ # 今日头条
│ ├── JiqizhixinCrawler/ # 机器之心
│ ├── LeiphoneCrawler/ # 雷锋网
│ └── AiTechReviewCrawler/ # AI科技评论
├── utils/ # 工具类
│ └── BaseCrawler.ts # 基础爬虫类
├── docs/ # 文档
├── package.json
├── tsconfig.json
├── gulpfile.js
└── README.md
`
🤝 贡献
欢迎提交问题和改进建议!
1. Fork 本项目
2. 创建特性分支 (git checkout -b feature/AmazingFeature)
3. 提交更改 (git commit -m 'Add some AmazingFeature')
4. 推送到分支 (git push origin feature/AmazingFeature`)