n8n工作流-微信公众号文章抓取
1. 一、背景介绍
在日常工作中,我们经常需要抓取和保存微信公众号文章内容。本工作流利用 n8n 和 Firecrawl MCP 服务,实现微信公众号文章的自动抓取和 Markdown 格式转换,大大提高工作效率。
2. 二、核心思路
工作流程通过以下几个关键步骤实现文章抓取:
- 触发器(Trigger):使用手动触发器或 Webhook 触发器接收微信文章 URL。手动触发器适合测试和临时使用,而 Webhook 触发器则更适合自动化场景。
- HTTP 请求(HTTP Request):配置节点调用 Firecrawl MCP 服务,将文章 URL 转换为 Markdown 格式。
- 数据处理(Set/Function):从 HTTP 响应中提取并处理 Markdown 内容。
- 输出处理:支持多种输出方式,如直接查看、保存到文件系统或发送到其他应用(Notion、Obsidian 等)。
3. 三、工作流设计
3.1. 触发器配置
- 在 n8n 画布中添加 Manual Trigger 节点
- 配置输入字段:
- Field Name:
wechatUrl - Field Type:String
- Field Label:微信文章链接
- Required:必选
- Field Name:
3.2. HTTP 请求配置
-
添加 HTTP Request 节点并连接到触发器
-
基本配置:
- Request Method:POST
- URL:你的 Firecrawl MCP 服务地址
- Body Type:JSON
-
请求体配置(两种可能的格式):
方式 1:直接调用 scrape 接口
{
"url": "{{$json.wechatUrl}}",
"extractorOptions": {
"mode": "markdown"
}
}
方式 2:使用 tool_name 结构
{
"tool_name": "firecrawl",
"args": {
"url": "{{$json.wechatUrl}}",
"extractorOptions": {
"mode": "markdown"
}
}
}
- 高级选项:
- Timeout:120000ms(2 分钟)
- Authentication:按需配置
3.3. 数据处理配置
- 添加 Set 节点处理响应数据
- 配置选项:
- Keep Only Set:开启
- Mode:Append
- 数据提取:
- Name:
markdownContent - Value:使用正确的 JSON 路径提取 Markdown 内容
- Name:
4. 四、使用指南
-
准备工作
- 确保 n8n 环境已就绪
- Firecrawl MCP 服务正常运行
- 准备测试用的微信文章链接
-
执行步骤
- 点击「Execute Workflow」
- 输入微信文章链接
- 等待执行完成
- 查看输出结果
-
调试技巧
- 使用 n8n 的调试面板查看每个节点的输出
- 根据实际输出调整 JSON 提取路径
5. 五、常见问题
-
抓取失败
- 检查文章链接是否有效
- 确认 MCP 服务运行状态
- 查看是否触发反爬限制
-
内容不完整
- 调整超时时间
- 检查网络连接
- 考虑使用代理服务
-
格式问题
- 优化 extractorOptions 配置
- 使用正则表达式清理内容
- 考虑后处理步骤
6. 六、性能优化
-
响应速度优化
- 使用合适的超时设置
- 配置请求重试机制
- 考虑缓存机制
-
内容质量优化
- 使用 pageOptions 过滤无关内容
- 配置自定义提取规则
- 添加后处理节点
-
稳定性提升
- 实现错误重试机制
- 添加监控告警
- 定期维护更新
提示:本工作流仅供学习和个人使用,请遵守相关平台的使用条款和规范。