8
n8n 中文网amn8n.com

LinkedIn和Indeed职位抓取器(通过Bright Data)与Google表格导出

高级

这是一个HR领域的自动化工作流,包含 33 个节点。主要使用 If, Code, Wait, Merge, FormTrigger 等节点。 使用LinkedIn、Indeed、Bright Data和Google表格进行职位抓取

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "GyAcQ4pRlDXovjmK",
  "meta": {
    "instanceId": "bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2",
    "templateCredsSetupCompleted": true
  },
  "name": "LinkedIn和Indeed职位抓取器(通过Bright Data)与Google Sheets导出",
  "tags": [],
  "nodes": [
    {
      "id": "ccb16093-bf80-460b-ba5c-479062b2e965",
      "name": "从职位搜索表单触发工作流程",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -496,
        -384
      ],
      "webhookId": "37d0e84c-0cda-47f8-826d-9ae5b22ba1d5",
      "parameters": {
        "options": {},
        "formTitle": " Job Finder",
        "formFields": {
          "values": [
            {
              "fieldLabel": "City",
              "requiredField": true
            },
            {
              "fieldLabel": "Job Title",
              "requiredField": true
            },
            {
              "fieldLabel": "Country",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Job_type (Optional)",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Full-Time"
                  },
                  {
                    "option": "Part-Time"
                  },
                  {
                    "option": "Remote"
                  },
                  {
                    "option": "WFH"
                  },
                  {
                    "option": "Contract"
                  },
                  {
                    "option": "Internship"
                  },
                  {
                    "option": "Freelance"
                  }
                ]
              }
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e058f622-138b-4a44-8be6-a212621a1059",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -976
      ],
      "parameters": {
        "color": 7,
        "width": 520,
        "height": 140,
        "content": "复制此表格"
      },
      "typeVersion": 1
    },
    {
      "id": "e1151c95-cdd2-4e28-be8d-4631364a71fc",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -496
      ],
      "parameters": {
        "width": 260,
        "height": 260,
        "content": "📝 触发器 – 用户填写职位名称、城市、国家、职位类型"
      },
      "typeVersion": 1
    },
    {
      "id": "cf473a7d-be91-4b1d-8111-3fb7183f2436",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -96,
        -224
      ],
      "parameters": {
        "color": 3,
        "height": 300,
        "content": "🧠 格式化输入 – 为Indeed抓取准备输入"
      },
      "typeVersion": 1
    },
    {
      "id": "5b05e06f-df14-470a-8808-e4efa608f01d",
      "name": "为Bright Data Indeed API格式化表单输入",
      "type": "n8n-nodes-base.code",
      "position": [
        -48,
        -128
      ],
      "parameters": {
        "jsCode": "const city = $json[\"City\"] || \"\";\nconst jobTitle = $json[\"Job Title\"] || \"\";\nconst country = $json[\"Country\"] || \"\";\nconst jobType = $json[\"Job_type (Optional)\"] || \"\";\n\nreturn [\n  {\n    json: {\n      input: [\n        {\n          country: country,\n          domain: country === \"FR\" ? \"fr.indeed.com\" : \"indeed.com\",\n          keyword_search: jobTitle,\n          location: city,\n          date_posted: \"Last 7 days\"\n        }\n      ],\n      custom_output_fields: [\n        \"jobid\",\n        \"company_name\",\n        \"date_posted_parsed\",\n        \"job_title\",\n        \"description_text\",\n        \"benefits\",\n        \"qualifications\",\n        \"location\",\n        \"salary_formatted\",\n        \"company_rating\",\n        \"company_reviews_count\",\n        \"country\",\n        \"date_posted\",\n        \"description\",\n        \"region\",\n        \"company_link\",\n        \"company_website\",\n        \"domain\",\n        \"apply_link\",\n        \"srcname\",\n        \"url\",\n        \"is_expired\",\n        \"discovery_input\",\n        \"job_location\",\n        \"job_description_formatted\",\n        \"logo_url\",\n        \"timestamp\",\n        \"warning\",\n        \"error\",\n        \"error_code\",\n        \"warning_code\"\n      ]\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "e361d724-e78c-448e-9421-50d3524f885b",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -800
      ],
      "parameters": {
        "color": 2,
        "width": 260,
        "height": 280,
        "content": "📤 Indeed API调用 – 在Indeed上开始职位搜索"
      },
      "typeVersion": 1
    },
    {
      "id": "cb22ebf9-28a8-499a-9297-5838b7af3065",
      "name": "通过Bright Data触发Indeed职位抓取",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        -720
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"input\": [\n    {\n      \"location\": \"{{$node[\"Triggers workflow from job search form\"].json[\"City\"] ? $node[\"Triggers workflow from job search form\"].json[\"City\"].trim() : \"\"}}\",\n      \"keyword\": \"{{$node[\"Triggers workflow from job search form\"].json[\"Job Title\"] ? $node[\"Triggers workflow from job search form\"].json[\"Job Title\"].trim() : \"\"}}\",\n      \"country\": \"{{$node[\"Triggers workflow from job search form\"].json[\"Country\"] ? $node[\"Triggers workflow from job search form\"].json[\"Country\"].slice(0, 2).toUpperCase() : \"\"}}\",\n      \"time_range\": \"Past week\",\n      \"job_type\": \"{{ [\"full-time\", \"part-time\", \"internship\", \"contract\", \"temporary\"].includes($node[\"Triggers workflow from job search form\"].json[\"Job_type\"]?.toLowerCase()) ? $node[\"Triggers workflow from job search form\"].json[\"Job_type\"] : \"\" }}\"\n    }\n  ],\n  \"custom_output_fields\": [\n    \"url\",\n    \"job_posting_id\",\n    \"job_title\",\n    \"company_name\",\n    \"company_id\",\n    \"job_location\",\n    \"job_summary\",\n    \"job_seniority_level\",\n    \"job_function\",\n    \"job_employment_type\",\n    \"job_industries\",\n    \"job_base_pay_range\",\n    \"company_url\",\n    \"job_posted_time\",\n    \"job_num_applicants\",\n    \"discovery_input\",\n    \"apply_link\",\n    \"country_code\",\n    \"title_id\",\n    \"company_logo\",\n    \"job_posted_date\",\n    \"job_poster\",\n    \"application_availability\",\n    \"job_description_formatted\",\n    \"base_salary\",\n    \"timestamp\",\n    \"error\",\n    \"error_code\",\n    \"warning\",\n    \"warning_code\"\n  ]\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "gd_lpfll7v5hcqtkxl6l"
            },
            {
              "name": "include_errors",
              "value": "true"
            },
            {
              "name": "type",
              "value": "discover_new"
            },
            {
              "name": "discover_by",
              "value": "keyword"
            },
            {
              "name": "limit_per_input",
              "value": "2"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3af3ac0d-aaed-4644-85cc-7589a9144e8c",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -784
      ],
      "parameters": {
        "color": 4,
        "height": 260,
        "content": "⏳ 检查Indeed状态 – Indeed数据准备好了吗?"
      },
      "typeVersion": 1
    },
    {
      "id": "dcf3882a-82e9-44e7-904b-167dd610bce3",
      "name": "检查Bright Data是否已完成Indeed抓取",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        304,
        -720
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5da46121-ef66-4346-aa4a-20b4d4e6eb18",
      "name": "便利贴5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -800
      ],
      "parameters": {
        "color": 6,
        "height": 280,
        "content": "✅ Indeed准备好了吗? – 继续或等待"
      },
      "typeVersion": 1
    },
    {
      "id": "001734bd-e0b4-4b98-bfd3-d260b7cf2c76",
      "name": "IF节点:Indeed数据准备好了吗?",
      "type": "n8n-nodes-base.if",
      "position": [
        624,
        -720
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "ready"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f232138a-f3d4-4aff-a670-6028571aa396",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        -560
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 240,
        "content": "⏱️ 等待 – 1分钟后重试检查"
      },
      "typeVersion": 1
    },
    {
      "id": "31ae32e5-e3a5-49b1-831f-062c967b9230",
      "name": "如果数据尚未准备好,暂停1分钟",
      "type": "n8n-nodes-base.wait",
      "position": [
        864,
        -512
      ],
      "webhookId": "7047efad-de41-4608-b95c-d3e0203ef620",
      "parameters": {
        "unit": "minutes",
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "1ffbbd02-5ad4-4543-bfa0-7366aff7f5b5",
      "name": "便签 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        -864
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 280,
        "content": "📊 找到数据了吗? – 仅在Indeed上找到职位时继续"
      },
      "typeVersion": 1
    },
    {
      "id": "d5766191-a99c-412e-adc1-e948f2c8aefe",
      "name": "检查是否存在任何Indeed职位记录",
      "type": "n8n-nodes-base.if",
      "position": [
        912,
        -736
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
              "operator": {
                "type": "number",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.records }}",
              "rightValue": "={{ 0 }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0969f9b6-2f0e-4fdc-b7d1-f10797b92531",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -848
      ],
      "parameters": {
        "width": 260,
        "height": 260,
        "content": "📥 获取Indeed职位 – 从Bright Data获取结果"
      },
      "typeVersion": 1
    },
    {
      "id": "0e6d740c-517e-4da8-a7b8-b43c3e34bae4",
      "name": "使用快照ID获取抓取的Indeed数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1200,
        -752
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8da861b3-df7a-4c6c-bf39-c2b6c6f11029",
      "name": "通过Bright Data触发LinkedIn职位抓取",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        -128
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"input\": {{ $json[\"input\"] ? JSON.stringify($json[\"input\"]) : \"[]\" }},\n  \"custom_output_fields\": {{ $json[\"custom_output_fields\"] ? JSON.stringify($json[\"custom_output_fields\"]) : \"{}\" }}\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "gd_l4dx9j9sscpvs7no2"
            },
            {
              "name": "include_errors",
              "value": "true"
            },
            {
              "name": "type",
              "value": "discover_new"
            },
            {
              "name": "discover_by",
              "value": "keyword"
            },
            {
              "name": "limit_per_input",
              "value": "=2"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4f1a540c-f076-42b9-a105-bcd9336eaf70",
      "name": "便签 9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -224
      ],
      "parameters": {
        "color": 5,
        "height": 300,
        "content": "📤 LinkedIn API调用 – 在LinkedIn上开始职位搜索"
      },
      "typeVersion": 1
    },
    {
      "id": "be52a15f-3950-456f-b026-f9132b0241c0",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -224
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 280,
        "content": "⏳ 检查LinkedIn状态 – LinkedIn数据准备好了吗?"
      },
      "typeVersion": 1
    },
    {
      "id": "79052900-596e-4880-946a-72aa636dfebd",
      "name": "检查LinkedIn抓取是否完成",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        512,
        -128
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "2819bb3c-f0d3-4a99-85e6-2902baac3b7d",
      "name": "便签11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        -224
      ],
      "parameters": {
        "color": 6,
        "width": 220,
        "height": 280,
        "content": "✅ LinkedIn准备好了吗? – 继续或等待"
      },
      "typeVersion": 1
    },
    {
      "id": "1814afd6-f9b6-4448-ab41-20ce0552e380",
      "name": "IF节点:LinkedIn准备好了吗?",
      "type": "n8n-nodes-base.if",
      "position": [
        752,
        -128
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "ready"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e4efd227-5070-4d08-ad2e-a769c27733e3",
      "name": "便签12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        144
      ],
      "parameters": {
        "color": 7,
        "height": 240,
        "content": "⏱️ 等待 – 1分钟后重试LinkedIn状态"
      },
      "typeVersion": 1
    },
    {
      "id": "514b0926-fe1b-4989-a50e-f3210716b8d2",
      "name": "在重新检查LinkedIn抓取前等待",
      "type": "n8n-nodes-base.wait",
      "position": [
        1056,
        128
      ],
      "webhookId": "7047efad-de41-4608-b95c-d3e0203ef620",
      "parameters": {
        "unit": "minutes",
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "d05d5230-2d8b-4736-aeee-c529b958da77",
      "name": "便签13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -208
      ],
      "parameters": {
        "color": 2,
        "width": 280,
        "height": 260,
        "content": "📊 LinkedIn数据找到了吗? – 如果是,继续"
      },
      "typeVersion": 1
    },
    {
      "id": "341fc5a2-5e34-43fb-a84f-0f2451bcbe1c",
      "name": "检查是否存在任何LinkedIn职位记录",
      "type": "n8n-nodes-base.if",
      "position": [
        1072,
        -144
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
              "operator": {
                "type": "number",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.records }}",
              "rightValue": "={{ 0 }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ebec13ab-6727-4ba5-b2d6-efc0c9982200",
      "name": "使用快照ID获取抓取的LinkedIn数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        -160
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer BRIGHT_DATA_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1263996f-9d36-41d9-b97b-5e05dadf304a",
      "name": "便签14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -224
      ],
      "parameters": {
        "color": 6,
        "width": 260,
        "height": 260,
        "content": "📥 获取LinkedIn职位 – 获取LinkedIn职位列表"
      },
      "typeVersion": 1
    },
    {
      "id": "8ed92618-ca54-444f-a0ce-732000e8fb56",
      "name": "便签15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1808,
        -592
      ],
      "parameters": {
        "color": 3,
        "width": 280,
        "height": 260,
        "content": "🔗 合并 – 合并两个职位来源"
      },
      "typeVersion": 1
    },
    {
      "id": "6c63a361-3288-4a22-b17e-86cca223baf9",
      "name": "合并Indeed + LinkedIn职位结果",
      "type": "n8n-nodes-base.merge",
      "position": [
        1888,
        -528
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "8bfe2047-5af4-46cc-aa57-021ee6b995f5",
      "name": "便签16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        -592
      ],
      "parameters": {
        "color": 4,
        "height": 260,
        "content": "📄 保存到表格 – 将职位数据添加到\"比较\"工作表"
      },
      "typeVersion": 1
    },
    {
      "id": "7b5d7dec-9ee3-4e27-995b-5f17168b0d11",
      "name": "将最终职位列表保存到Google表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2144,
        -528
      ],
      "parameters": {
        "columns": {
          "value": {
            "Salary ": "={{ $json.salary_formatted }}",
            "Location": "={{ $json.discovery_input.location }}",
            "Job Title": "={{ $json.job_title }}",
            "Job-Type ": "={{ $json.job_location }}",
            "Apply Link": "={{ $json.url }}",
            "Job Detail": "={{ $json.description_text }}",
            "Company Name ": "={{ $json.company_name }}"
          },
          "schema": [
            {
              "id": "Company Name ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company Name ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Job Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job Detail",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Job Detail",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Apply Link",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Apply Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job No. Application",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Job No. Application",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Salary ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Salary ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job-Type ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Job-Type ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 74196869,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8/edit#gid=74196869",
          "cachedResultName": "Compare"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8/edit?usp=drivesdk",
          "cachedResultName": "Job Finder sheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "3GynTMfjoyPl1MTl",
          "name": "Google Sheets-demo@example.com"
        }
      },
      "typeVersion": 4.6
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3c830d55-1680-435c-b537-bbb3b2587d0f",
  "connections": {
    "IF node: Is Indeed data ready?": {
      "main": [
        [
          {
            "node": "Checks if any Indeed job records exist",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Pauses for 1 minute if data is not yet ready",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF node: Is LinkedIn data ready?": {
      "main": [
        [
          {
            "node": "Checks if any LinkedIn job records exist",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Waits before rechecking LinkedIn scraping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Checks if any Indeed job records exist": {
      "main": [
        [
          {
            "node": "Fetches scraped Indeed data using snapshot ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combines Indeed + LinkedIn job results": {
      "main": [
        [
          {
            "node": "Saves final job list to Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Triggers workflow from job search form": {
      "main": [
        [
          {
            "node": "Formats form input for Bright Data Indeed API1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Triggers job scraping on Indeed via Bright Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Checks if LinkedIn scraping is completed": {
      "main": [
        [
          {
            "node": "IF node: Is LinkedIn data ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Checks if any LinkedIn job records exist": {
      "main": [
        [
          {
            "node": "Fetches scraped LinkedIn data using snapshot ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Waits before rechecking LinkedIn scraping": {
      "main": [
        [
          {
            "node": "Checks if LinkedIn scraping is completed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pauses for 1 minute if data is not yet ready": {
      "main": [
        [
          {
            "node": "Checks if Bright Data has completed Indeed scraping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetches scraped Indeed data using snapshot ID": {
      "main": [
        [
          {
            "node": "Combines Indeed + LinkedIn job results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Formats form input for Bright Data Indeed API1": {
      "main": [
        [
          {
            "node": "Triggers job scraping on LinkedIn via Bright Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetches scraped LinkedIn data using snapshot ID": {
      "main": [
        [
          {
            "node": "Combines Indeed + LinkedIn job results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Triggers job scraping on Indeed via Bright Data": {
      "main": [
        [
          {
            "node": "Checks if Bright Data has completed Indeed scraping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Triggers job scraping on LinkedIn via Bright Data": {
      "main": [
        [
          {
            "node": "Checks if LinkedIn scraping is completed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Checks if Bright Data has completed Indeed scraping": {
      "main": [
        [
          {
            "node": "IF node: Is Indeed data ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 人力资源

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流