8
n8n 中文网amn8n.com

ELV网站邮箱提取

高级

这是一个Lead Generation, Multimodal AI领域的自动化工作流,包含 20 个节点。主要使用 If, Set, Code, Merge, SplitOut 等节点。 使用EmailListVerify API从网站提取邮箱地址并存储到Google Sheets

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "KnV10oDIARtVSmw7",
  "meta": {
    "instanceId": "42f06bdbe33c6e48441258a73a5cbec4a66a97aff3a765b2ca73c67ed394d25f",
    "templateId": "2134",
    "templateCredsSetupCompleted": true
  },
  "name": "ELV 从网站提取电子邮件",
  "tags": [],
  "nodes": [
    {
      "id": "466cf9ce-4baf-45f9-bd70-d2041c20605e",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1168,
        80
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 598,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ea95c9a3-b7c8-4288-8fdf-6504caee46f4",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        240
      ],
      "parameters": {
        "width": 728.4741979436378,
        "height": 430.0825742795921,
        "content": "# 如何从网站获取电子邮件"
      },
      "typeVersion": 1
    },
    {
      "id": "555c8f81-25ea-4be5-b260-7b6039c705a8",
      "name": "获取网站数据",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        2096,
        464
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {}
      },
      "retryOnFail": true,
      "typeVersion": 4.1
    },
    {
      "id": "e83b38b8-dc13-49eb-9482-1dbd8a9ef583",
      "name": "提取找到的电子邮件",
      "type": "n8n-nodes-base.set",
      "position": [
        2272,
        464
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "80a8a8ec-9ac7-4545-beab-390732218548",
              "name": "Email",
              "type": "array",
              "value": "={{$json.data.match(/(?:[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})/g)}}"
            }
          ]
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "3f9230c9-e46d-42e7-9020-82715ff197bb",
      "name": "当点击‘执行工作流’时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        1296,
        464
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a8a3a8f7-7cb5-4d82-bc30-df9f9927636e",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3408,
        320
      ],
      "parameters": {
        "height": 535.9388810024284,
        "content": "## 添加您的 ELV API 密钥"
      },
      "typeVersion": 1
    },
    {
      "id": "cbe22fca-9469-48b7-8c13-e1307a107b9c",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3184,
        160
      ],
      "parameters": {
        "color": 3,
        "width": 664,
        "height": 780,
        "content": "## 使用 EmailListVerify 查找电子邮件地址"
      },
      "typeVersion": 1
    },
    {
      "id": "cec669b5-83d6-4251-983a-7e66732dec1a",
      "name": "使用 EmailListVerify API 查找通用电子邮件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3472,
        608
      ],
      "parameters": {
        "url": "https://api.emaillistverify.com/api/findContact",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"domain\": \"{{ $json.domain }}\"\n} ",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "get your own API key",
          "name": "Query Auth account 2"
        },
        "httpHeaderAuth": {
          "id": "get your own API key",
          "name": "Header Auth account 2"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a39406fd-f126-418b-ba16-652bd0944f8a",
      "name": "将网站转换为域名 1",
      "type": "n8n-nodes-base.code",
      "position": [
        3264,
        608
      ],
      "parameters": {
        "jsCode": "console.log($input.all())\n\n\nconst data = $input.all()\n\nconsole.log(\"start filter\")\nconsole.log(data)\n\nlet merged = []\nfor (let line of data){\n  console.log(line)\n  try{\n  let lineObject = line[\"json\"]  \n  let url = lineObject[\"website\"];\n\n  let domainStart = url.indexOf(\"/\");\n  let domainEnd = url.indexOf(\"/\" ,domainStart + 2 );\n  let domain = url.slice(domainStart + 2, domainEnd);\n\n  // exception if the domain doesnet containt /\n  if(domainStart < 0){\n    domain = url\n  }\n    \n  if(domain.slice(0,4)==\"www.\"){\n    domain = domain.slice(4,domain.length)\n  }\n    \n  console.log(domain)\n  lineObject[\"domain\"] = domain;\n  merged.push(lineObject);\n  } catch (e) {\n    console.log(\"error\")\n    console.log(e)\n  }\n  \n}\n\n\n\nconsole.log(merged);\n\n\nreturn merged;"
      },
      "typeVersion": 2
    },
    {
      "id": "7ab9c843-05c3-4a66-8de4-8c22fcc95c1b",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        2672,
        160
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "2f9a325d-433c-45e4-a092-80b35db39820",
      "name": "获取输入数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1488,
        464
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Input"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1VOTFM8UeWHhJbtBM7SRca6vsVJlRUXzX71kjJ8n2jUY/edit?gid=0#"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {}
      },
      "typeVersion": 4.7
    },
    {
      "id": "83d24421-73aa-428e-801f-b7f8607e6fb1",
      "name": "如果缺少则为 URL 添加 http",
      "type": "n8n-nodes-base.code",
      "position": [
        1808,
        464
      ],
      "parameters": {
        "jsCode": "console.log($input.all())\n\n\nconst data = $input.all()\n\nconsole.log(\"start filter\")\nconsole.log(data)\n\nlet merged = []\n\nfor (let line of data){\n  console.log(line)\n  try{\n  let lineObject = line[\"json\"]  \n  let url = lineObject[\"website\"];\n  \n  let domainStart = url.indexOf(\"http\");\n\n  let domain \n  if(domainStart > -1 ){\n    domain = url\n  } else {\n   domain = \"http://\" + url\n  }\n    \n  console.log(domain)\n\n  \n \n  merged.push({\"url\": domain});\n  } catch (e) {\n    console.log(\"error\")\n    console.log(e)\n  }\n  \n}\n\n\n\n//console.log(merged);\n\n\nreturn merged;"
      },
      "typeVersion": 2
    },
    {
      "id": "f66d0652-5776-4121-8e97-0f9c1b387236",
      "name": "找到电子邮件?",
      "type": "n8n-nodes-base.if",
      "position": [
        2896,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9cf8bf40-c610-4c63-bc0e-becf32c5998f",
              "operator": {
                "type": "array",
                "operation": "lengthGt",
                "rightType": "number"
              },
              "leftValue": "={{ $json.Email }}",
              "rightValue": 0
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "fc2df885-4756-4aee-bb2e-23fae5b7cf9e",
      "name": "将网站转换为域名",
      "type": "n8n-nodes-base.code",
      "position": [
        3712,
        608
      ],
      "parameters": {
        "jsCode": "console.log($input.all())\n\n\nconst data = $input.all()\n\nconsole.log(\"start filter\")\nconsole.log(data)\n\nlet merged = []\nfor (let line of data){\n  console.log(line)\n  try{\n  let lineObject = line[\"json\"]  \n  let url = lineObject[\"email\"];\n\n  let domainStart = url.indexOf(\"@\");\n\n  let domain = url.slice( domainStart + 1, url.length);\n\n \n  console.log(domain)\n  lineObject[\"website\"] = domain;\n  merged.push(lineObject);\n  } catch (e) {\n    console.log(\"error\")\n    console.log(e)\n  }\n  \n}\n\n\n\nconsole.log(merged);\n\n\nreturn merged;"
      },
      "typeVersion": 2
    },
    {
      "id": "37ea428a-51c3-4742-aca3-01278386353c",
      "name": "将结果添加到 Google",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4112,
        -288
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "website",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "confidence",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "confidence",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Output"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1VOTFM8UeWHhJbtBM7SRca6vsVJlRUXzX71kjJ8n2jUY/edit?gid=1538095319#gid=1538095319"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "4702a725-fd91-431b-ab24-795ed562c35e",
      "name": "拆分",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        3888,
        -288
      ],
      "parameters": {
        "include": "selectedOtherFields",
        "options": {
          "destinationFieldName": "email"
        },
        "fieldToSplitOut": "Email",
        "fieldsToInclude": "website"
      },
      "typeVersion": 1
    },
    {
      "id": "c9f2e12f-2e7e-42cd-9206-98fb7ddc4af7",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2592,
        64
      ],
      "parameters": {
        "color": 4,
        "width": 500,
        "height": 310,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "eb9f6294-e50f-4290-a394-e76fbf59d170",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3840,
        -656
      ],
      "parameters": {
        "color": 4,
        "width": 500,
        "height": 774,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "05b8a70e-afd2-4dda-ac63-f435c0ed400f",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4048,
        -576
      ],
      "parameters": {
        "height": 535.9388810024284,
        "content": "## 复制模板"
      },
      "typeVersion": 1
    },
    {
      "id": "1f6a17b8-a8bf-4e8c-8ea3-ebaeac9a1605",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        192
      ],
      "parameters": {
        "height": 472,
        "content": "## 复制模板"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e5805dcf-b757-4c3e-9ea2-575f012ac5b6",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Email found?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Add result to google",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email found?": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Transform website into domain name1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get input Data": {
      "main": [
        [
          {
            "node": "Add http to url if missing",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get the website data": {
      "main": [
        [
          {
            "node": "Extract the emails found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract the emails found": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add http to url if missing": {
      "main": [
        [
          {
            "node": "Get the website data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transform website into domain name": {
      "main": [
        [
          {
            "node": "Add result to google",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transform website into domain name1": {
      "main": [
        [
          {
            "node": "Use EmailListVerify API to find generic emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get input Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Use EmailListVerify API to find generic emails": {
      "main": [
        [
          {
            "node": "Transform website into domain name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 潜在客户开发, 多模态 AI

需要付费吗?

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

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

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

作者
EmailListVerify

EmailListVerify

@emaillistverify

Full-Featured Email Verification for half the price

外部链接
在 n8n.io 查看

分享此工作流