n8n工作流-微信公众号文章抓取

image

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- 第 1 步:触发器配置

  1. 在 n8n 画布中添加 Manual Trigger 节点
  2. 配置输入字段:
    • Field Name: wechatUrl
    • Field Type: String
    • Field Label: 微信文章链接
    • Required: 必选

3.2- 第 2 步:HTTP 请求配置

  1. 添加 HTTP Request 节点并连接到触发器

  2. 基本配置:

    • Request Method: POST
    • URL: 你的 Firecrawl MCP 服务地址
    • Body Type: JSON
  3. 请求体配置(两种可能的格式):

// 方式1:直接调用scrape接口
{
  "url": "{{$json.wechatUrl}}",
  "extractorOptions": {
    "mode": "markdown"
  }
}

// 方式2:使用tool_name结构
{
  "tool_name": "firecrawl",
  "args": {
    "url": "{{$json.wechatUrl}}",
    "extractorOptions": {
      "mode": "markdown"
    }
  }
}
  1. 高级选项:
    • Timeout: 120000ms(2 分钟)
    • Authentication: 按需配置

3.3- 第 3 步:数据处理配置

  1. 添加 Set 节点处理响应数据
  2. 配置选项:
    • Keep Only Set: 开启
    • Mode: Append
  3. 数据提取:
    • Name: markdownContent
    • Value: 使用正确的 JSON 路径提取 Markdown 内容

4- 使用指南

  1. 准备工作

    • 确保 n8n 环境已就绪
    • Firecrawl MCP 服务正常运行
    • 准备测试用的微信文章链接
  2. 执行步骤

    • 点击「Execute Workflow」
    • 输入微信文章链接
    • 等待执行完成
    • 查看输出结果
  3. 调试技巧

    • 使用 n8n 的调试面板查看每个节点的输出
    • 根据实际输出调整 JSON 提取路径

5- 常见问题

  1. 抓取失败

    • 检查文章链接是否有效
    • 确认 MCP 服务运行状态
    • 查看是否触发反爬限制
  2. 内容不完整

    • 调整超时时间
    • 检查网络连接
    • 考虑使用代理服务
  3. 格式问题

    • 优化 extractorOptions 配置
    • 使用正则表达式清理内容
    • 考虑后处理步骤

6- 性能优化

  1. 响应速度优化

    • 使用合适的超时设置
    • 配置请求重试机制
    • 考虑缓存机制
  2. 内容质量优化

    • 使用 pageOptions 过滤无关内容
    • 配置自定义提取规则
    • 添加后处理节点
  3. 稳定性提升

    • 实现错误重试机制
    • 添加监控告警
    • 定期维护更新

提示:本工作流仅供学习和个人使用,请遵守相关平台的使用条款和规范。