8
n8n 中文网amn8n.com

Google地图 - 按关键词爬取邮箱

高级

这是一个Lead Generation领域的自动化工作流,包含 20 个节点。主要使用 Set, Code, Filter, SplitOut, Aggregate 等节点。 从Google地图搜索结果提取商业邮箱到Google表格

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "wbY4XFrDGp8DBQgi",
  "meta": {
    "instanceId": "ed6d846a2fce1f660ede2e7da800724cca01dc3d0685524a3c917881b7cfcfe9"
  },
  "name": "Google Maps - 按关键词爬取邮箱",
  "tags": [],
  "nodes": [
    {
      "id": "59b4ce0a-ddf4-4fc4-8adc-c25aec2008d7",
      "name": "当点击“测试工作流”时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -680,
        200
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7d1e4c89-b5f0-49a0-ad67-0eb89dbc0680",
      "name": "过滤器",
      "type": "n8n-nodes-base.filter",
      "position": [
        280,
        200
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7ecfbe72-c09a-482e-8f81-43d9e7bb2917",
              "operator": {
                "type": "string",
                "operation": "notRegex"
              },
              "leftValue": "={{ $json.url }}",
              "rightValue": "(google|gstatic|ggpht|schema|example)"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "dc7e6daa-0aa0-4fad-a32f-e6aa3bd905e6",
      "name": "聚合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1400,
        200
      ],
      "parameters": {
        "options": {
          "mergeLists": true
        },
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "emails"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0c6199c1-7272-41b6-b765-bc89e5fc4925",
      "name": "分离输出",
      "type": "n8n-nodes-base.splitOut",
      "onError": "continueRegularOutput",
      "position": [
        1600,
        200
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "emails"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "05de993d-c2e5-44b5-accc-afa324e90c36",
      "name": "移除重复网站",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        500,
        200
      ],
      "parameters": {
        "compare": "selectedFields",
        "options": {},
        "fieldsToCompare": "url"
      },
      "typeVersion": 2
    },
    {
      "id": "f5445655-192b-493b-8bb7-2dad086133c4",
      "name": "移除重复邮箱",
      "type": "n8n-nodes-base.removeDuplicates",
      "onError": "continueRegularOutput",
      "position": [
        1800,
        200
      ],
      "parameters": {
        "compare": "selectedFields",
        "options": {},
        "fieldsToCompare": "emails"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "fdf831d5-a819-413f-87e2-6d6bdba7d27a",
      "name": "Google Sheets - 更新数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2000,
        200
      ],
      "parameters": {
        "columns": {
          "value": {
            "Emails": "={{ $json.emails }}",
            "Keyword": "={{ $('Fields - Set Keyword / Phrase').first().json.keyword }}"
          },
          "schema": [
            {
              "id": "Keyword",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Keyword",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Emails",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Emails",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Emails"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17y_MmRHfBbW67bVyRuep1hkpoh2BV3yF5_Woxt0W9kk/edit#gid=0",
          "cachedResultName": "Emails"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17y_MmRHfBbW67bVyRuep1hkpoh2BV3yF5_Woxt0W9kk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17y_MmRHfBbW67bVyRuep1hkpoh2BV3yF5_Woxt0W9kk/edit?usp=drivesdk",
          "cachedResultName": "Google Maps - Crawl Email By Keyword"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "pe6UD1A6MWIk2X91",
          "name": "Google Sheets - toan.ngo"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "6483643a-ca6d-4708-aa6e-0f279aef4991",
      "name": "循环网站",
      "type": "n8n-nodes-base.splitInBatches",
      "onError": "continueErrorOutput",
      "position": [
        720,
        200
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "2faaf6c1-00f1-44e8-8d84-229e85718a64",
      "name": "循环邮箱",
      "type": "n8n-nodes-base.splitInBatches",
      "onError": "continueErrorOutput",
      "position": [
        940,
        360
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "bc5361c6-21ca-4011-97f9-313504681019",
      "name": "HTTP请求 - 获取邮箱",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        940,
        0
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a25ea232-e3c0-4f15-a2c7-c340245eaee5",
      "name": "HTTP请求 - 获取网站",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -140,
        200
      ],
      "parameters": {
        "url": "=https://www.google.com/maps/search/{{ $json.keyword }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a9867f9c-0841-432f-b25f-b179c74819b1",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        -260
      ],
      "parameters": {
        "color": 4,
        "width": 600,
        "height": 800,
        "content": "## 1. 设置关键词并启动工作流"
      },
      "typeVersion": 1
    },
    {
      "id": "cd625a6d-a8be-4e37-b6a8-e09c2c67cbbc",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        120
      ],
      "parameters": {
        "color": 3,
        "width": 300,
        "height": 240,
        "content": "## 在此更改关键词"
      },
      "typeVersion": 1
    },
    {
      "id": "f0a61644-cc59-4938-980f-88795742d9a4",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1520,
        -260
      ],
      "parameters": {
        "width": 720,
        "height": 1680,
        "content": "## [n8n自动化] 通过Google Maps关键词自动提取邮箱 - 立即试用!"
      },
      "typeVersion": 1
    },
    {
      "id": "352594b0-528b-45c6-a110-b38db22c716d",
      "name": "代码 - 匹配URL",
      "type": "n8n-nodes-base.code",
      "position": [
        80,
        200
      ],
      "parameters": {
        "jsCode": "const urls = $input.first().json.data.match(/https?:\\/\\/[^\\/]+/g);\nreturn urls.map(url => ({json: {url: url}}));"
      },
      "typeVersion": 2
    },
    {
      "id": "a82989e4-69c0-485e-8158-2ed201baf6f7",
      "name": "代码 - 匹配邮箱",
      "type": "n8n-nodes-base.code",
      "onError": "continueRegularOutput",
      "position": [
        1200,
        360
      ],
      "parameters": {
        "jsCode": "const blockExtensions = [\n  'png', 'jpg', 'jpeg', 'gif', 'webp', 'svg',\n  'mp4', 'avi', 'mov', 'webm', 'mkv',\n  'js', 'css', 'json', 'ts', 'jsx', 'tsx'\n];\n\nconst regex = new RegExp(\n  `[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.(?!${blockExtensions.join('|')})[a-zA-Z]{2,}`,\n  'gi'\n);\n\nconst text = $input.first().json.data;\nconst emails = text.match(regex);\n\nreturn { json: { emails: emails } };"
      },
      "typeVersion": 2
    },
    {
      "id": "f74128d6-40bb-4c6b-8278-90d653a495f4",
      "name": "字段 - 设置关键词/短语",
      "type": "n8n-nodes-base.set",
      "position": [
        -420,
        200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0543578e-56af-4bd7-b05f-f61652f47315",
              "name": "keyword",
              "type": "string",
              "value": "n8n workflow"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6e41a17b-59bc-4cc0-9db0-77613e660b35",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -260
      ],
      "parameters": {
        "color": 4,
        "width": 820,
        "height": 800,
        "content": "## 2. 收集和筛选网站URL"
      },
      "typeVersion": 1
    },
    {
      "id": "8babfc9b-4c40-434a-8887-257e3baa7984",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        -260
      ],
      "parameters": {
        "color": 4,
        "width": 680,
        "height": 800,
        "content": "## 3. 提取和验证邮箱"
      },
      "typeVersion": 1
    },
    {
      "id": "669fcf0e-34e0-445e-8491-97ff3f493cba",
      "name": "便利贴5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1380,
        -260
      ],
      "parameters": {
        "color": 4,
        "width": 780,
        "height": 800,
        "content": "## 4. 汇总、去重和保存结果"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "b27f6a74-6321-4082-b1fd-c124a513b6e7",
  "connections": {
    "Filter": {
      "main": [
        [
          {
            "node": "Remove Site Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Remove Email Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Emails": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Code - Match Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Websites": {
      "main": [
        [
          {
            "node": "Loop Emails",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "HTTP Request - Get Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Match Email": {
      "main": [
        [
          {
            "node": "Loop Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Matching URL": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Site Duplicates": {
      "main": [
        [
          {
            "node": "Loop Websites",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Email Duplicates": {
      "main": [
        [
          {
            "node": "Google Sheets - Update Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request - Get Sites": {
      "main": [
        [
          {
            "node": "Code - Matching URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request - Get Emails": {
      "main": [
        [
          {
            "node": "Loop Websites",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fields - Set Keyword / Phrase": {
      "main": [
        [
          {
            "node": "HTTP Request - Get Sites",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Fields - Set Keyword / Phrase",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 潜在客户开发

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量20
分类1
节点类型11
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Agent Circle

Agent Circle

@agentcircle

Agent Circle - A growing marketplace of AI agents, workflows, and toolkits — built to help teams automate smarter and scale faster

外部链接
在 n8n.io 查看

分享此工作流