ELVサイトからのメールアドレス抽出

上級

これはLead Generation, Multimodal AI分野の自動化ワークフローで、20個のノードを含みます。主にIf, Set, Code, Merge, SplitOutなどのノードを使用。 EmailListVerify API を使用してウェブサイトからメール アドレスを抽出し、Google スプレッドシートに保存してください。

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "KnV10oDIARtVSmw7",
  "meta": {
    "instanceId": "42f06bdbe33c6e48441258a73a5cbec4a66a97aff3a765b2ca73c67ed394d25f",
    "templateId": "2134",
    "templateCredsSetupCompleted": true
  },
  "name": "ELV Extract emails from website",
  "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": "\n* Scraping emails from websites using an html"
      },
      "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": "# How to get emails from websites\n\nThis workflow will :\n- Try to find emails by scraping the website\n- If no result is found, it will use EmailListVerify to guess an email address\n\n\nPay attention that this workflow will usually return only generic emails like \"contact@\". Those generic emails are useful when you target small businesses; the owner usually monitors those emails. However, I don't advise this workflow to target enterprise customers.\n\nIn order to use this workflow, you will need:\n- To copy this Google sheet : https://docs.google.com/spreadsheets/d/1VOTFM8UeWHhJbtBM7SRca6vsVJlRUXzX71kjJ8n2jUY/edit?gid=1538095319#gid=1538095319\n- Get an API key for [EmailListVerify](https://emaillistverify.com/)\n\n\nYou then need to edit the setup of the 3 stages highlighted with a yellow sticky notes, and you will be good to go.\n\n\n"
      },
      "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": "## Add your ELV API Key\n\nStart a free trial at EmailListVerify.com and get your API key."
      },
      "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": "## Find email address with EmailListVerify\nFind generic email address with EmailListVerify API if the website is known\n"
      },
      "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": "\n* Check if email was found"
      },
      "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": "\n* Add result to google sheet"
      },
      "typeVersion": 1
    },
    {
      "id": "05b8a70e-afd2-4dda-ac63-f435c0ed400f",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4048,
        -576
      ],
      "parameters": {
        "height": 535.9388810024284,
        "content": "## copy template\n\nhttps://docs.google.com/spreadsheets/d/1VOTFM8UeWHhJbtBM7SRca6vsVJlRUXzX71kjJ8n2jUY/edit?gid=1538095319#gid=1538095319\n\nFile need to include column email, website é confidence"
      },
      "typeVersion": 1
    },
    {
      "id": "1f6a17b8-a8bf-4e8c-8ea3-ebaeac9a1605",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        192
      ],
      "parameters": {
        "height": 472,
        "content": "## copy template\n\nhttps://docs.google.com/spreadsheets/d/1VOTFM8UeWHhJbtBM7SRca6vsVJlRUXzX71kjJ8n2jUY/edit?gid=1538095319#gid=1538095319\n\nAdd target url in Input sheet"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e5805dcf-b757-4c3e-9ea2-575f012ac5b6",
  "connections": {
    "7ab9c843-05c3-4a66-8de4-8c22fcc95c1b": {
      "main": [
        [
          {
            "node": "f66d0652-5776-4121-8e97-0f9c1b387236",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4702a725-fd91-431b-ab24-795ed562c35e": {
      "main": [
        [
          {
            "node": "37ea428a-51c3-4742-aca3-01278386353c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f66d0652-5776-4121-8e97-0f9c1b387236": {
      "main": [
        [
          {
            "node": "4702a725-fd91-431b-ab24-795ed562c35e",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "a39406fd-f126-418b-ba16-652bd0944f8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f9a325d-433c-45e4-a092-80b35db39820": {
      "main": [
        [
          {
            "node": "83d24421-73aa-428e-801f-b7f8607e6fb1",
            "type": "main",
            "index": 0
          },
          {
            "node": "7ab9c843-05c3-4a66-8de4-8c22fcc95c1b",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "555c8f81-25ea-4be5-b260-7b6039c705a8": {
      "main": [
        [
          {
            "node": "e83b38b8-dc13-49eb-9482-1dbd8a9ef583",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e83b38b8-dc13-49eb-9482-1dbd8a9ef583": {
      "main": [
        [
          {
            "node": "7ab9c843-05c3-4a66-8de4-8c22fcc95c1b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "83d24421-73aa-428e-801f-b7f8607e6fb1": {
      "main": [
        [
          {
            "node": "555c8f81-25ea-4be5-b260-7b6039c705a8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fc2df885-4756-4aee-bb2e-23fae5b7cf9e": {
      "main": [
        [
          {
            "node": "37ea428a-51c3-4742-aca3-01278386353c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a39406fd-f126-418b-ba16-652bd0944f8a": {
      "main": [
        [
          {
            "node": "cec669b5-83d6-4251-983a-7e66732dec1a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f9230c9-e46d-42e7-9020-82715ff197bb": {
      "main": [
        [
          {
            "node": "2f9a325d-433c-45e4-a092-80b35db39820",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cec669b5-83d6-4251-983a-7e66732dec1a": {
      "main": [
        [
          {
            "node": "fc2df885-4756-4aee-bb2e-23fae5b7cf9e",
            "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で表示

このワークフローを共有

カテゴリー

カテゴリー: 34