使用 Bright Data 抓取 LinkedIn 职位列表以获取招聘信号和潜在客户
中级
这是一个Sales, HR, AI领域的自动化工作流,包含 15 个节点。主要使用 If, Set, Code, Wait, FormTrigger 等节点,结合人工智能技术实现智能自动化。 使用 Bright Data 抓取 LinkedIn 职位列表以获取招聘信号和潜在客户
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "1eadd5bc7c3d70c587c28f782511fd898c6bf6d97963d92e836019d2039d1c79"
},
"nodes": [
{
"id": "bee233ee-7212-4fbd-b151-0bb49919ca42",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
280
],
"parameters": {
"color": 4,
"width": 1289,
"height": 4398,
"content": "LinkedIn 职位数据抓取器到 Google Sheets"
},
"typeVersion": 1
},
{
"id": "0fa9d0fe-b3ba-48be-99b9-2bc3aeb18b43",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
-60
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "======================================="
},
"typeVersion": 1
},
{
"id": "33cb416e-a7ff-4b55-9701-9b9e95d76f12",
"name": "快照进度",
"type": "n8n-nodes-base.httpRequest",
"position": [
2840,
360
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $('HTTP Request- Post API call to Bright Data').item.json.snapshot_id }}",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer <YOUR_BRIGHT_DATA_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6b8c9405-8f8c-4a24-85ca-343d33e06141",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
3680,
140
],
"parameters": {
"width": 195,
"height": 646,
"content": "在此工作流中,我使用 Google Sheets 存储结果。"
},
"typeVersion": 1
},
{
"id": "3d3cd92a-9ea7-4a4f-a9b5-aae689f719e5",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
-60
],
"parameters": {
"width": 480,
"height": 2240,
"content": "# 🔍 LinkedIn 职位 API – 参数指南"
},
"typeVersion": 1
},
{
"id": "1d7a7bb0-1531-4516-9373-5e85a090b143",
"name": "表单提交时 - 发现职位",
"type": "n8n-nodes-base.formTrigger",
"position": [
1700,
580
],
"webhookId": "8d0269c7-d1fc-45a1-a411-19634a1e0b82",
"parameters": {
"options": {},
"formTitle": "Linkedin High Intent Prospects And Job Post Hunt",
"formFields": {
"values": [
{
"fieldLabel": "Job Location",
"placeholder": "example: new york",
"requiredField": true
},
{
"fieldLabel": "Keyword",
"placeholder": "example: CMO, AI architect",
"requiredField": true
},
{
"fieldLabel": "Country (2 letters)",
"placeholder": "example: US,UK,IL",
"requiredField": true
}
]
},
"formDescription": "This form lets you customize your job search / prospecting by choosing:\n\nLocation (city or region)\n\nJob title or keywords\n\nCountry code\n\nFilters like posting date, job type, experience level, and remote options\n\nYou can also optionally narrow results by company name.\n\n🧠 Tip: Leave fields blank if you want broader results."
},
"typeVersion": 2.2
},
{
"id": "aea569df-eedd-441f-aba5-c3c26a50fa87",
"name": "HTTP 请求 - 向 Bright Data 发送 API 调用",
"type": "n8n-nodes-base.httpRequest",
"position": [
2260,
620
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "=[\n {\n \"location\": \"{{ $json['Job Location'] }}\",\n \"keyword\": \"{{ $json.Keyword }}\",\n \"country\": \"{{ $json['Country (2 letters)'] }}\",\n \"time_range\": \"Past 24 hours\",\n \"job_type\": \"Part-time\",\n \"experience_level\": \"\",\n \"remote\": \"\",\n \"company\": \"\"\n }\n] ",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_lpfll7v5hcqtkxl6l"
},
{
"name": "endpoint",
"value": "https://yaron-nofluff.app.n8n.cloud/webhook-test/8c42463d-a631-4a17-a084-4bcbbb3bfc68"
},
{
"name": "notify",
"value": "https://yaron-nofluff.app.n8n.cloud/webhook-test/8c42463d-a631-4a17-a084-4bcbbb3bfc68"
},
{
"name": "format",
"value": "json"
},
{
"name": "uncompressed_webhook",
"value": "true"
},
{
"name": "type",
"value": "discover_new"
},
{
"name": "discover_by",
"value": "=keyword"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer <YOUR_BRIGHT_DATA_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8837f055-7243-44b6-87a2-e679d75839d0",
"name": "等待 - 轮询 Bright Data",
"type": "n8n-nodes-base.wait",
"position": [
2600,
360
],
"webhookId": "8005a2b3-2195-479e-badb-d90e4240e699",
"parameters": {
"unit": "minutes"
},
"executeOnce": false,
"typeVersion": 1.1
},
{
"id": "1f0ebefa-42a1-450c-b30a-64edabdaedaf",
"name": "条件判断 - 检查快照状态 - 数据是否准备就绪",
"type": "n8n-nodes-base.if",
"position": [
3040,
360
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7932282b-71bb-4bbb-ab73-4978e554de7e",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "running"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e17b4da0-3f9c-45d5-acdf-ab634acfef97",
"name": "HTTP 请求 - 从 Bright Data 获取数据",
"type": "n8n-nodes-base.httpRequest",
"position": [
3320,
380
],
"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 <YOUR_BRIGHT_DATA_API_KEY>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b5bd6a55-f80d-46f9-a59a-beff28de9da7",
"name": "代码 - 清理数据",
"type": "n8n-nodes-base.code",
"position": [
3600,
400
],
"parameters": {
"jsCode": "// Helper function to strip HTML tags\nfunction stripHtml(html) {\n return html\n .replace(/<[^>]+>/g, '') // remove all HTML tags\n .replace(/ /g, ' ') // decode HTML entities\n .replace(/&[a-z]+;/g, '') // remove other HTML entities\n .replace(/\\s+/g, ' ') // normalize whitespace\n .trim();\n}\n\nreturn items.map(item => {\n const data = item.json;\n\n // Flatten job_poster\n if (data.job_poster) {\n data.job_poster_name = data.job_poster.name || '';\n data.job_poster_title = data.job_poster.title || '';\n data.job_poster_url = data.job_poster.url || '';\n delete data.job_poster;\n }\n\n // Flatten base_salary\n if (data.base_salary) {\n data.salary_min = data.base_salary.min_amount || '';\n data.salary_max = data.base_salary.max_amount || '';\n data.salary_currency = data.base_salary.currency || '';\n data.salary_period = data.base_salary.payment_period || '';\n delete data.base_salary;\n }\n\n // Clean up job description HTML\n if (data.job_description_formatted) {\n data.job_description_plain = stripHtml(data.job_description_formatted);\n }\n\n return { json: data };\n});\n"
},
"typeVersion": 2
},
{
"id": "70f4a4a0-b9ce-4b7a-b232-86014a7f8a3f",
"name": "Google Sheets - 添加所有职位发布",
"type": "n8n-nodes-base.googleSheets",
"position": [
3940,
440
],
"parameters": {
"columns": {
"value": {
"country_code": "={{ $json.country_code }}"
},
"schema": [
{
"id": "url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_posting_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_posting_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_description_plain",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_description_plain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_poster_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_poster_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_poster_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_poster_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_poster_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_poster_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "salary_min",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "salary_min",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "salary_max",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "salary_max",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "salary_currency",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "salary_currency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "salary_period",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "salary_period",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "application_availability",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "application_availability",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_posted_date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_posted_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_logo",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_logo",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country_code",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "country_code",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "timestamp",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "timestamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_summary",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_posted_time",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_posted_time",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_num_applicants",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_num_applicants",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "discovery_input",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "discovery_input",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "apply_link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "apply_link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "title_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_description_formatted",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_description_formatted",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "input",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "input",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_seniority_level",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_seniority_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_function",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_function",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_employment_type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_employment_type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_industries",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_industries",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "job_base_pay_range",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "job_base_pay_range",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"handlingExtraData": "insertInNewColumn"
},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit#gid=0",
"cachedResultName": "input"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_jbr5zBllTy_pGbogfGSvyv1_0a77I8tU-Ai7BjTAw4/edit?usp=drivesdk",
"cachedResultName": "NoFluff-N8N-Sheet-Template-Job Scraping WIth Bright Data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "4RJOMlGAcB9ZoYfm",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.3,
"alwaysOutputData": true
},
{
"id": "297d778f-afa5-4d2d-baea-3b1fb199f77c",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1940,
-40
],
"parameters": {
"width": 300,
"height": 880,
"content": "🧠 Bright Data 触发器 – 自定义您的职位查询"
},
"typeVersion": 1
},
{
"id": "54303791-b269-4930-85b5-33e50ae08f33",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2320,
220
],
"parameters": {
"color": 4,
"width": 940,
"height": 360,
"content": "Bright Data 获取职位"
},
"typeVersion": 1
},
{
"id": "cccb03cb-0432-43ff-9c3a-233de510a775",
"name": "编辑字段",
"type": "n8n-nodes-base.set",
"position": [
1920,
580
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "12067869-0249-4cd2-b9e2-8e4055a0d917",
"name": "",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
}
],
"pinData": {},
"connections": {
"Edit Fields": {
"main": [
[
{
"node": "HTTP Request- Post API call to Bright Data",
"type": "main",
"index": 0
}
]
]
},
"Snapshot Progress": {
"main": [
[
{
"node": "If - Checking status of Snapshot - if data is ready or not",
"type": "main",
"index": 0
}
]
]
},
"Code - Cleaning Up": {
"main": [
[
{
"node": "Google Sheets - Adding All Job Posts",
"type": "main",
"index": 0
}
]
]
},
"Wait - Polling Bright Data": {
"main": [
[
{
"node": "Snapshot Progress",
"type": "main",
"index": 0
}
]
]
},
"On form submission - Discover Jobs": {
"main": [
[
{
"node": "Edit Fields",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request- Post API call to Bright Data": {
"main": [
[
{
"node": "Wait - Polling Bright Data",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request - Getting data from Bright Data": {
"main": [
[
{
"node": "Code - Cleaning Up",
"type": "main",
"index": 0
}
]
]
},
"If - Checking status of Snapshot - if data is ready or not": {
"main": [
[
{
"node": "Wait - Polling Bright Data",
"type": "main",
"index": 0
}
],
[
{
"node": "HTTP Request - Getting data from Bright Data",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 销售, 人力资源, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用Bright Data和LLMs自动化大规模超个性化外联
通过Bright Data和大语言模型实现大规模超个性化外联自动化
If
Set
Wait
+8
21 节点Yaron Been
销售
使用 Bright Data 和 GPT 抓取 Glassdoor 发现高意向销售线索
通过 Bright Data 和 GPT 抓取 Glassdoor 发现高意向销售线索
If
Wait
Split Out
+6
16 节点Yaron Been
销售
使用 Bright Data 和 LLM 抓取 Indeed 职位列表以获取招聘信号
使用 Bright Data 和 LLM 抓取 Indeed 职位列表以获取招聘信号
If
Wait
Split Out
+6
17 节点Yaron Been
人力资源
智能 Shopify 代理:AI 驱动的弃购车挽回
智能 Shopify 代理:AI 驱动的弃购车挽回系统
If
Wait
Gmail
+7
16 节点Yaron Been
销售
AI YouTube分析助手:评论分析与洞察报告
AI YouTube分析助手:评论分析器与洞察报告生成器
If
Set
Code
+9
19 节点Yaron Been
人工智能
HRMate 修复
使用LlamaIndex和GPT-4o-mini自动化候选人筛选,生成个性化邮件回复
If
Set
Code
+8
30 节点Khairul Muhtadin
人力资源
工作流信息
难度等级
中级
节点数量15
分类3
节点类型8
作者
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host
外部链接
在 n8n.io 查看 →
分享此工作流